cleanup and files added
This commit is contained in:
149
qt_app_pyside1/services/influxdb/init.flux
Normal file
149
qt_app_pyside1/services/influxdb/init.flux
Normal file
@@ -0,0 +1,149 @@
|
||||
// Smart Intersection InfluxDB Initialization Script
|
||||
// This Flux script sets up the initial database structure
|
||||
|
||||
// Create bucket for traffic monitoring data
|
||||
option task = {name: "smart-intersection-init", every: 1mo}
|
||||
|
||||
// Import required packages
|
||||
import "influxdata/influxdb/schema"
|
||||
|
||||
// Create retention policy for traffic data (7 days)
|
||||
buckets.create(
|
||||
bucket: "traffic_monitoring",
|
||||
orgID: "smart-intersection-org",
|
||||
retentionPeriod: 168h,
|
||||
description: "Smart intersection traffic monitoring data"
|
||||
)
|
||||
|
||||
// Create bucket for long-term analytics (30 days)
|
||||
buckets.create(
|
||||
bucket: "traffic_analytics",
|
||||
orgID: "smart-intersection-org",
|
||||
retentionPeriod: 720h,
|
||||
description: "Long-term traffic analytics and trends"
|
||||
)
|
||||
|
||||
// Create measurements schema
|
||||
|
||||
// Performance metrics measurement
|
||||
schema.create(
|
||||
bucket: "traffic_monitoring",
|
||||
measurement: "performance",
|
||||
columns: {
|
||||
timestamp: "timestamp",
|
||||
fps: "float",
|
||||
gpu_usage: "float",
|
||||
memory_usage: "float",
|
||||
processing_time_ms: "float",
|
||||
camera_count: "int",
|
||||
active_objects: "int"
|
||||
},
|
||||
tags: ["service", "camera_id"]
|
||||
)
|
||||
|
||||
// Detection events measurement
|
||||
schema.create(
|
||||
bucket: "traffic_monitoring",
|
||||
measurement: "detection_events",
|
||||
columns: {
|
||||
timestamp: "timestamp",
|
||||
object_count: "int",
|
||||
vehicle_count: "int",
|
||||
pedestrian_count: "int",
|
||||
confidence_avg: "float",
|
||||
processing_time: "float"
|
||||
},
|
||||
tags: ["camera_id", "camera_position", "detection_model"]
|
||||
)
|
||||
|
||||
// Violation events measurement
|
||||
schema.create(
|
||||
bucket: "traffic_monitoring",
|
||||
measurement: "violation_events",
|
||||
columns: {
|
||||
timestamp: "timestamp",
|
||||
violation_type: "string",
|
||||
severity_level: "string",
|
||||
object_id: "string",
|
||||
confidence: "float"
|
||||
},
|
||||
tags: ["camera_id", "roi_id", "violation_category"]
|
||||
)
|
||||
|
||||
// Traffic flow measurement
|
||||
schema.create(
|
||||
bucket: "traffic_monitoring",
|
||||
measurement: "traffic_flow",
|
||||
columns: {
|
||||
timestamp: "timestamp",
|
||||
vehicle_count: "int",
|
||||
average_speed: "float",
|
||||
lane_occupancy: "float",
|
||||
congestion_level: "string"
|
||||
},
|
||||
tags: ["lane_id", "direction", "camera_position"]
|
||||
)
|
||||
|
||||
// ROI events measurement
|
||||
schema.create(
|
||||
bucket: "traffic_monitoring",
|
||||
measurement: "roi_events",
|
||||
columns: {
|
||||
timestamp: "timestamp",
|
||||
event_type: "string",
|
||||
dwell_time: "float",
|
||||
object_count: "int",
|
||||
activity_level: "float"
|
||||
},
|
||||
tags: ["roi_id", "roi_type", "camera_id"]
|
||||
)
|
||||
|
||||
// System health measurement
|
||||
schema.create(
|
||||
bucket: "traffic_monitoring",
|
||||
measurement: "system_health",
|
||||
columns: {
|
||||
timestamp: "timestamp",
|
||||
cpu_usage: "float",
|
||||
memory_usage: "float",
|
||||
disk_usage: "float",
|
||||
service_status: "string",
|
||||
uptime_seconds: "int"
|
||||
},
|
||||
tags: ["service_name", "host"]
|
||||
)
|
||||
|
||||
// Create continuous queries for analytics
|
||||
|
||||
// Average FPS over 1 minute intervals
|
||||
option task = {name: "fps_analytics", every: 1m}
|
||||
|
||||
from(bucket: "traffic_monitoring")
|
||||
|> range(start: -1m)
|
||||
|> filter(fn: (r) => r._measurement == "performance")
|
||||
|> filter(fn: (r) => r._field == "fps")
|
||||
|> aggregateWindow(every: 1m, fn: mean, createEmpty: false)
|
||||
|> set(key: "_measurement", value: "fps_avg_1m")
|
||||
|> to(bucket: "traffic_analytics", org: "smart-intersection-org")
|
||||
|
||||
// Vehicle count aggregation over 5 minute intervals
|
||||
option task = {name: "vehicle_count_analytics", every: 5m}
|
||||
|
||||
from(bucket: "traffic_monitoring")
|
||||
|> range(start: -5m)
|
||||
|> filter(fn: (r) => r._measurement == "detection_events")
|
||||
|> filter(fn: (r) => r._field == "vehicle_count")
|
||||
|> aggregateWindow(every: 5m, fn: sum, createEmpty: false)
|
||||
|> set(key: "_measurement", value: "vehicle_count_5m")
|
||||
|> to(bucket: "traffic_analytics", org: "smart-intersection-org")
|
||||
|
||||
// Violation count by type over 1 hour
|
||||
option task = {name: "violation_analytics", every: 1h}
|
||||
|
||||
from(bucket: "traffic_monitoring")
|
||||
|> range(start: -1h)
|
||||
|> filter(fn: (r) => r._measurement == "violation_events")
|
||||
|> group(columns: ["violation_type"])
|
||||
|> count()
|
||||
|> set(key: "_measurement", value: "violation_count_1h")
|
||||
|> to(bucket: "traffic_analytics", org: "smart-intersection-org")
|
||||
Reference in New Issue
Block a user