je_load_density.utils.metrics

je_load_density.utils.metrics.start_influxdb_sink(transport: str = 'udp', host: str = '127.0.0.1', port: int = 8089, url: str | None = None, token: str | None = None, measurement: str = 'loaddensity_request', timeout: float = 2.0) None

啟動 InfluxDB sink,將每個 request 寫入 line protocol。 Start an InfluxDB sink that writes each request as a line-protocol point. transport=udp uses host:port; transport=http requires url.

URL is caller-supplied so this defers to the operator’s configured InfluxDB endpoint; not a hard-coded destination.

je_load_density.utils.metrics.start_opentelemetry_exporter(endpoint: str | None = None, service_name: str = 'loaddensity', export_interval_ms: int = 5000) bool

啟動 OpenTelemetry OTLP 指標輸出。 Start an OpenTelemetry OTLP metrics exporter and attach a Locust request listener.

je_load_density.utils.metrics.start_prometheus_exporter(port: int = 9646, addr: str = '127.0.0.1') int | None

啟動 Prometheus 指標伺服器並掛上 Locust request 事件監聽。 Start the Prometheus exporter HTTP server and attach a request listener.

Defaults to binding on loopback. Pass addr="0.0.0.0" explicitly to expose the exporter to the network when running in a container or remote node.

Returns the port the exporter is listening on, or None if the optional dependency is not installed.

je_load_density.utils.metrics.stop_influxdb_sink() None
je_load_density.utils.metrics.stop_opentelemetry_exporter() None
je_load_density.utils.metrics.stop_prometheus_exporter() None

從 Locust 事件移除監聽器(注意 prometheus_client 的 server 無法輕易停止)。 Detach the listener; prometheus_client’s server keeps running.

Modules

influxdb_sink

opentelemetry_exporter

prometheus_exporter

statsd_sink

Datadog DogStatsD UDP sink.