telemetry¶
jumpstarter.v1
Services¶
TelemetryService¶
A service that reverse-scrapes exporter metrics and receives structured logs. Implemented by jumpstarter-telemetry; not part of the controller.
Method |
Request |
Response |
Description |
|---|---|---|---|
|
stream |
stream |
Persistent bidirectional stream: telemetry sends scrape requests, exporter responds with metric snapshots (structured families plus optional OpenMetrics text). |
|
Push structured log entries to the telemetry service for Loki ingest. |
Messages¶
MetricsStreamRequest¶
Exporter → Telemetry
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
oneof msg |
First message: identify this exporter. |
|
|
2 |
oneof msg |
Subsequent: reply to a scrape. |
MetricsRegister¶
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Exporter CRD name (verified against the auth token by the server). |
MetricsScrapeResponse¶
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Optional generate_latest() OpenMetrics text (legacy / debug). |
|
|
2 |
|
When the snapshot was taken. |
|
|
3 |
repeated |
DD-3 sidecar: in-memory registry dump so the hub can merge and filter exemplars without parsing OpenMetrics text (prometheus/common cannot). |
MetricsLabel¶
One label name/value pair on a sample or exemplar.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Label name. |
|
|
2 |
|
Label value. |
MetricsExemplar¶
OpenMetrics exemplar attached to a sample (JEP-0013 allowlist applied on the hub).
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
repeated |
Exemplar labels (client, lease_id, …). |
|
|
2 |
|
Exemplar observation value. |
|
|
3 |
|
Optional exemplar timestamp. |
MetricsSample¶
One collected sample from prometheus_client (including histogram _bucket/_sum/_count).
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Sample name (may include _bucket, _sum, _count). |
|
|
2 |
repeated |
Sample labels (histogram buckets include le). |
|
|
3 |
|
Sample value. |
|
|
4 |
Optional exemplar for this sample. |
MetricsFamily¶
One metric family from CollectorRegistry.collect().
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Family name (counters include _total |
|
|
2 |
|
Help text. |
|
|
3 |
Family type. |
||
|
4 |
repeated |
Collected samples, including exemplars. |
MetricsStreamResponse¶
Telemetry → Exporter
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
oneof msg |
MetricsScrapeRequest¶
Empty request: “send your /metrics now”.
No fields defined.
PushLogsRequest¶
Request to push log entries to the telemetry service.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
repeated |
Log entries to push. |
PushLogsResponse¶
Response to a PushLogs request.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Number of entries accepted. |
|
|
2 |
|
Number of entries dropped (backpressure). |
LogEntry¶
A structured log entry from an exporter or client. Maps directly to a Loki log entry with stream labels and body fields.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
When the log was emitted. |
|
|
2 |
|
Log severity: debug, info, warning, error, critical. |
|
|
3 |
|
Human-readable log message. |
|
|
4 |
|
Loki stream label: cli, exporter, controller, router, telemetry. |
|
|
5 |
|
Loki stream label: exporter CRD name (bounded by cluster size). |
|
|
6 |
|
Log body only (high cardinality): active lease name. |
|
|
7 |
|
Log body only (high cardinality): client CRD name. |
|
|
8 |
|
Log body: operation name (flash, power, etc.). |
|
|
9 |
|
Log body: operation outcome (success, failure, etc.). |
|
|
10 |
|
Log body: driver category (storage, power, network, etc.). |
|
|
11 |
|
Additional structured key-value fields. |
|
|
12 |
|
Loki stream label: Kubernetes namespace (bounded by cluster size). |
Enums¶
MetricsType¶
Prometheus metric type for a MetricsFamily.
Name |
Number |
Description |
|---|---|---|
|
0 |
Unknown or unset type. |
|
1 |
Monotonic counter. |
|
2 |
Gauge. |
|
3 |
Histogram (bucket / sum / count samples). |
|
4 |
Summary. |
|
5 |
Untyped / unknown. |