Every oldest(), stats() and put() globbed and sorted the whole spool directory, so draining a backlog cost O(N^2 log N). After an outage on a Pi 3B+ the writer thread sat at 100% CPU for minutes working through 3,300 batches. The directory is now scanned once at startup and the names, sizes and total are tracked as batches are added and removed; draining 3,300 batches drops from 59s to 0.24s on a laptop. Bump to 0.1.6. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
49 lines
1.4 KiB
JSON
49 lines
1.4 KiB
JSON
{
|
|
"schema": 1,
|
|
"id": "community.influxdb",
|
|
"name": "InfluxDB Exporter",
|
|
"version": "0.1.6",
|
|
"description": "Pushes Repeater metrics, per-packet events, logs and node/GPS snapshots to a remote InfluxDB (v1, v2 or v3) for Grafana dashboards.",
|
|
"runtime": {
|
|
"type": "python",
|
|
"entrypoint": "openhop-influxdb"
|
|
},
|
|
"config": {
|
|
"defaults": {
|
|
"repeater_url": "http://127.0.0.1:8000",
|
|
"repeater_api_token": "",
|
|
"repeater_verify_tls": true,
|
|
"repeater_tag": "",
|
|
"influx_url": "",
|
|
"influx_version": "v2",
|
|
"influx_token": "",
|
|
"influx_org": "",
|
|
"influx_bucket": "openhop",
|
|
"influx_database": "openhop",
|
|
"influx_retention_policy": "",
|
|
"influx_username": "",
|
|
"influx_password": "",
|
|
"influx_create_database": true,
|
|
"influx_verify_tls": true,
|
|
"stream_metrics": true,
|
|
"stream_packets": true,
|
|
"stream_logs": true,
|
|
"stream_snapshots": true,
|
|
"stream_history": true,
|
|
"metrics_interval_seconds": 30,
|
|
"snapshot_interval_seconds": 300,
|
|
"request_timeout_seconds": 10,
|
|
"initial_backfill_hours": "all",
|
|
"backfill_hours": "all",
|
|
"backfill_request_id": "",
|
|
"log_min_level": "INFO",
|
|
"include_payload": false,
|
|
"include_raw_packet": false,
|
|
"include_locations": true,
|
|
"batch_size": 5000,
|
|
"flush_interval_seconds": 5,
|
|
"spool_max_mb": 50
|
|
}
|
|
}
|
|
}
|