Skip to content

Commit 9696dbe

Browse files
committed
feat(docs): integrate auto-generated metrics reference for v2 migration
Signed-off-by: hharshhsaini <sainiharsh3311@gmail.com>
1 parent fa2e147 commit 9696dbe

File tree

4 files changed

+295
-0
lines changed

4 files changed

+295
-0
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ fetch-blog-feed:
6565
fetch-roadmap:
6666
python3 scripts/generate_roadmap.py
6767

68+
fetch-metrics:
69+
python3 scripts/fetch_metrics_reference.py
70+
6871
# only x.y.0 semver values are valid for kicking off a new release.
6972
SEMVER_REGEX := ^([0-9]+\.){2}0$$
7073
VALID_VERSION := $(shell echo "$(VERSION)" | grep -E "$(SEMVER_REGEX)")

content/docs/v2/_dev/operations/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ children:
1010
url: performance-tuning
1111
- title: Tools
1212
url: tools
13+
- title: Metrics Reference (v2)
14+
url: metrics-reference
1315
---
1416

1517
Jaeger provides the foundational components to operate your installation. Please note that backups and lifecycle of the datastores must be handled outside of Jaeger. We provide pointers to components within the [storage backends](../architecture/) guides.
Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
---
2+
title: Metrics Reference (v2)
3+
type: docs
4+
weight: 80
5+
---
6+
7+
The following tables outline the mapping of Jaeger v1 metrics to their equivalent Jaeger v2 OpenTelemetry metrics. These tables are automatically generated by the Jaeger CI pipelines to ensure backward compatibility and accurate tracking of telemetry data.
8+
9+
## All-in-One Component Metrics
10+
11+
# ALL-IN-ONE METRICS
12+
### Combined Metrics
13+
14+
| V1 Metric | V1 Labels | V2 Metric | V2 Labels |
15+
|-----------|---------------|-----------|---------------|
16+
| jaeger_query_latency | operation, result | jaeger_query_latency | operation, result |
17+
| jaeger_query_responses | operation | jaeger_query_responses | operation |
18+
| jaeger_query_requests_total | operation, result | jaeger_query_requests_total | operation, result |
19+
| go_gc_duration_seconds | N/A | N/A | N/A |
20+
| go_goroutines | N/A | N/A | N/A |
21+
| go_info | version | N/A | N/A |
22+
| go_memstats_alloc_bytes | N/A | N/A | N/A |
23+
| go_memstats_alloc_bytes_total | N/A | N/A | N/A |
24+
| go_memstats_buck_hash_sys_bytes | N/A | N/A | N/A |
25+
| go_memstats_frees_total | N/A | N/A | N/A |
26+
| go_memstats_gc_sys_bytes | N/A | N/A | N/A |
27+
| go_memstats_heap_alloc_bytes | N/A | N/A | N/A |
28+
| go_memstats_heap_idle_bytes | N/A | N/A | N/A |
29+
| go_memstats_heap_inuse_bytes | N/A | N/A | N/A |
30+
| go_memstats_heap_objects | N/A | N/A | N/A |
31+
| go_memstats_heap_released_bytes | N/A | N/A | N/A |
32+
| go_memstats_heap_sys_bytes | N/A | N/A | N/A |
33+
| go_memstats_last_gc_time_seconds | N/A | N/A | N/A |
34+
| go_memstats_lookups_total | N/A | N/A | N/A |
35+
| go_memstats_mallocs_total | N/A | N/A | N/A |
36+
| go_memstats_mcache_inuse_bytes | N/A | N/A | N/A |
37+
| go_memstats_mcache_sys_bytes | N/A | N/A | N/A |
38+
| go_memstats_mspan_inuse_bytes | N/A | N/A | N/A |
39+
| go_memstats_mspan_sys_bytes | N/A | N/A | N/A |
40+
| go_memstats_next_gc_bytes | N/A | N/A | N/A |
41+
| go_memstats_other_sys_bytes | N/A | N/A | N/A |
42+
| go_memstats_stack_inuse_bytes | N/A | N/A | N/A |
43+
| go_memstats_stack_sys_bytes | N/A | N/A | N/A |
44+
| go_memstats_sys_bytes | N/A | N/A | N/A |
45+
| go_threads | N/A | N/A | N/A |
46+
| jaeger_build_info | build_date, revision, version | N/A | N/A |
47+
| jaeger_collector_batch_size | host | N/A | N/A |
48+
| jaeger_collector_http_request_duration | method, path, status | N/A | N/A |
49+
| jaeger_collector_http_server_errors_total | source, status | N/A | N/A |
50+
| jaeger_collector_http_server_requests_total | type | N/A | N/A |
51+
| jaeger_collector_in_queue_latency | host | N/A | N/A |
52+
| jaeger_collector_queue_capacity | host | N/A | N/A |
53+
| jaeger_collector_queue_length | host | N/A | N/A |
54+
| jaeger_collector_save_latency | host | N/A | N/A |
55+
| jaeger_collector_spans_bytes | host | N/A | N/A |
56+
| jaeger_collector_spans_dropped_total | host | N/A | N/A |
57+
| jaeger_collector_spans_received_total | debug, format, svc, transport | N/A | N/A |
58+
| jaeger_collector_spans_rejected_total | debug, format, svc, transport | N/A | N/A |
59+
| jaeger_collector_spans_saved_by_svc_total | debug, result, svc | N/A | N/A |
60+
| jaeger_collector_spans_serviceNames | host | N/A | N/A |
61+
| jaeger_collector_traces_received_total | debug, format, sampler_type, svc, transport | N/A | N/A |
62+
| jaeger_collector_traces_rejected_total | debug, format, sampler_type, svc, transport | N/A | N/A |
63+
| jaeger_collector_traces_saved_by_svc_total | debug, result, sampler_type, svc | N/A | N/A |
64+
| process_cpu_seconds_total | N/A | N/A | N/A |
65+
| process_max_fds | N/A | N/A | N/A |
66+
| process_open_fds | N/A | N/A | N/A |
67+
| process_resident_memory_bytes | N/A | N/A | N/A |
68+
| process_start_time_seconds | N/A | N/A | N/A |
69+
| process_virtual_memory_bytes | N/A | N/A | N/A |
70+
| process_virtual_memory_max_bytes | N/A | N/A | N/A |
71+
| N/A | N/A | exporter_send_failed_spans | exporter, service_instance_id, service_name, service_version |
72+
| N/A | N/A | exporter_sent_spans | exporter, service_instance_id, service_name, service_version |
73+
| N/A | N/A | process_cpu_seconds | service_instance_id, service_name, service_version |
74+
| N/A | N/A | process_memory_rss | service_instance_id, service_name, service_version |
75+
| N/A | N/A | process_runtime_heap_alloc_bytes | service_instance_id, service_name, service_version |
76+
| N/A | N/A | process_runtime_total_alloc_bytes | service_instance_id, service_name, service_version |
77+
| N/A | N/A | process_runtime_total_sys_memory_bytes | service_instance_id, service_name, service_version |
78+
| N/A | N/A | process_uptime | service_instance_id, service_name, service_version |
79+
| N/A | N/A | processor_batch_batch_send_size | processor, service_instance_id, service_name, service_version |
80+
| N/A | N/A | processor_batch_batch_send_size_bytes | processor, service_instance_id, service_name, service_version |
81+
| N/A | N/A | processor_batch_metadata_cardinality | processor, service_instance_id, service_name, service_version |
82+
| N/A | N/A | processor_batch_timeout_trigger_send | processor, service_instance_id, service_name, service_version |
83+
| N/A | N/A | receiver_accepted_spans | receiver, service_instance_id, service_name, service_version, transport |
84+
| N/A | N/A | receiver_refused_spans | receiver, service_instance_id, service_name, service_version, transport |
85+
| N/A | N/A | rpc_server_duration | rpc_grpc_status_code, rpc_method, rpc_service, rpc_system, service_instance_id, service_name, service_version |
86+
| N/A | N/A | rpc_server_request_size | rpc_method, rpc_service, rpc_system, service_instance_id, service_name, service_version |
87+
| N/A | N/A | rpc_server_requests_per_rpc | rpc_grpc_status_code, rpc_method, rpc_service, rpc_system, service_instance_id, service_name, service_version |
88+
| N/A | N/A | rpc_server_response_size | rpc_method, rpc_service, rpc_system, service_instance_id, service_name, service_version |
89+
| N/A | N/A | rpc_server_responses_per_rpc | rpc_grpc_status_code, rpc_method, rpc_service, rpc_system, service_instance_id, service_name, service_version |
90+
| N/A | N/A | target_info | service_instance_id, service_name, service_version |
91+
### Equivalent Metrics
92+
93+
| V1 Metric | V1 Labels | V2 Metric | V2 Labels |
94+
|-----------|---------------|-----------|---------------|
95+
| jaeger_collector_spans_rejected_total | debug, format, svc, transport | receiver_refused_spans | receiver, service_instance_id, service_name, service_version, transport |
96+
| jaeger_build_info | build_date, revision, version | target_info | service_instance_id, service_name, service_version |
97+
98+
## Badger Storage Metrics
99+
100+
# BADGER METRICS
101+
102+
### Combined Metrics
103+
104+
| V1 Metric | V1 Parameters | V2 Metric | V2 Parameters |
105+
| ------------------------------------------ | ------------- | ---------------------------------------- | ------------- |
106+
| jaeger_badger_compaction_current_num_lsm | N/A | jaeger_badger_compaction_current_num_lsm | N/A |
107+
| jaeger_badger_get_num_memtable | N/A | jaeger_badger_get_num_memtable | N/A |
108+
| jaeger_badger_get_num_user | N/A | jaeger_badger_get_num_user | N/A |
109+
| jaeger_badger_get_with_result_num_user | N/A | jaeger_badger_get_with_result_num_user | N/A |
110+
| jaeger_badger_iterator_num_user | N/A | jaeger_badger_iterator_num_user | N/A |
111+
| jaeger_badger_put_num_user | N/A | jaeger_badger_put_num_user | N/A |
112+
| jaeger_badger_read_bytes_lsm | N/A | jaeger_badger_read_bytes_lsm | N/A |
113+
| jaeger_badger_read_bytes_vlog | N/A | jaeger_badger_read_bytes_vlog | N/A |
114+
| jaeger_badger_read_num_vlog | N/A | jaeger_badger_read_num_vlog | N/A |
115+
| jaeger_badger_size_bytes_lsm | N/A | jaeger_badger_size_bytes_lsm | N/A |
116+
| jaeger_badger_size_bytes_vlog | N/A | jaeger_badger_size_bytes_vlog | N/A |
117+
| jaeger_badger_write_bytes_l0 | N/A | jaeger_badger_write_bytes_l0 | N/A |
118+
| jaeger_badger_write_bytes_user | N/A | jaeger_badger_write_bytes_user | N/A |
119+
| jaeger_badger_write_bytes_vlog | N/A | jaeger_badger_write_bytes_vlog | N/A |
120+
| jaeger_badger_write_num_vlog | N/A | jaeger_badger_write_num_vlog | N/A |
121+
| jaeger_badger_write_pending_num_memtable | N/A | jaeger_badger_write_pending_num_memtable | N/A |
122+
| jaeger_badger_key_log_bytes_available | N/A | N/A | N/A |
123+
| jaeger_badger_storage_maintenance_last_run | N/A | N/A | N/A |
124+
| jaeger_badger_storage_valueloggc_last_run | N/A | N/A | N/A |
125+
| jaeger_badger_value_log_bytes_available | N/A | N/A | N/A |
126+
127+
### Equivalent Metrics
128+
129+
| V1 Metric | V1 Parameters | V2 Metric | V2 Parameters |
130+
| ------------------------------------- | ------------------------------ | ---------------------- | ----------------------------------------------------------------------- |
131+
| jaeger_collector_spans_rejected_total | debug, format, svc, transport | receiver_refused_spans | receiver, service_instance_id, service_name, service_version, transport |
132+
| jaeger_build_info | build_date, revision, version | target_info | service_instance_id, service_name, service_version |
133+
134+
## Cassandra Storage Metrics
135+
136+
# CASSANDRA METRICS
137+
### Combined Metrics
138+
139+
| V1 Metric | V1 Parameters | V2 Metric | V2 Parameters |
140+
|-----------|---------------|-----------|---------------|
141+
| jaeger_cassandra_attempts_total | table | jaeger_cassandra_attempts_total | table |
142+
| jaeger_cassandra_errors_total | table | jaeger_cassandra_errors_total | table |
143+
| jaeger_cassandra_inserts_total | table | jaeger_cassandra_inserts_total | table |
144+
| jaeger_cassandra_latency_err | table | jaeger_cassandra_latency_err | table |
145+
| jaeger_cassandra_latency_ok | table | jaeger_cassandra_latency_ok | table |
146+
| jaeger_cassandra_read_attempts_total | table | jaeger_cassandra_read_attempts_total | table |
147+
| jaeger_cassandra_read_errors_total | table | jaeger_cassandra_read_errors_total | table |
148+
| jaeger_cassandra_read_inserts_total | table | jaeger_cassandra_read_inserts_total | table |
149+
| jaeger_cassandra_read_latency_err | table | jaeger_cassandra_read_latency_err | table |
150+
| jaeger_cassandra_read_latency_ok | table | jaeger_cassandra_read_latency_ok | table |
151+
| jaeger_cassandra_tag_index_skipped_total | N/A | jaeger_cassandra_tag_index_skipped_total | N/A |
152+
### Equivalent Metrics
153+
154+
| V1 Metric | V1 Parameters | V2 Metric | V2 Parameters |
155+
|-----------|---------------|-----------|---------------|
156+
| jaeger_collector_spans_rejected_total | debug, format, svc, transport | receiver_refused_spans | receiver, service_instance_id, service_name, service_version, transport |
157+
| jaeger_build_info | build_date, revision, version | target_info | service_instance_id, service_name, service_version |
158+
159+
## Elasticsearch Storage Metrics
160+
161+
# ELASTICSEARCH METRICS
162+
### Combined Metrics
163+
164+
| V1 Metric | V1 Parameters | V2 Metric | V2 Parameters |
165+
|-----------|---------------|-----------|---------------|
166+
| jaeger_bulk_index_attempts_total | N/A | jaeger_bulk_index_attempts_total | N/A |
167+
| jaeger_bulk_index_errors_total | N/A | jaeger_bulk_index_errors_total | N/A |
168+
| jaeger_bulk_index_inserts_total | N/A | jaeger_bulk_index_inserts_total | N/A |
169+
| jaeger_bulk_index_latency_err | N/A | jaeger_bulk_index_latency_err | N/A |
170+
| jaeger_bulk_index_latency_ok | N/A | jaeger_bulk_index_latency_ok | N/A |
171+
| jaeger_index_create_attempts_total | N/A | jaeger_index_create_attempts_total | N/A |
172+
| jaeger_index_create_errors_total | N/A | jaeger_index_create_errors_total | N/A |
173+
| jaeger_index_create_inserts_total | N/A | jaeger_index_create_inserts_total | N/A |
174+
| jaeger_index_create_latency_err | N/A | jaeger_index_create_latency_err | N/A |
175+
| jaeger_index_create_latency_ok | N/A | jaeger_index_create_latency_ok | N/A |
176+
### Equivalent Metrics
177+
178+
| V1 Metric | V1 Parameters | V2 Metric | V2 Parameters |
179+
|-----------|---------------|-----------|---------------|
180+
| jaeger_collector_spans_rejected_total | debug, format, svc, transport | receiver_refused_spans | receiver, service_instance_id, service_name, service_version, transport |
181+
| jaeger_build_info | build_date, revision, version | target_info | service_instance_id, service_name, service_version |
182+
183+
## OpenSearch Storage Metrics
184+
185+
# OPENSEARCH METRICS
186+
### Combined Metrics
187+
188+
| V1 Metric | V1 Parameters | V2 Metric | V2 Parameters |
189+
|-----------|---------------|-----------|---------------|
190+
| jaeger_bulk_index_attempts_total | N/A | jaeger_bulk_index_attempts_total | N/A |
191+
| jaeger_bulk_index_errors_total | N/A | jaeger_bulk_index_errors_total | N/A |
192+
| jaeger_bulk_index_inserts_total | N/A | jaeger_bulk_index_inserts_total | N/A |
193+
| jaeger_bulk_index_latency_err | N/A | jaeger_bulk_index_latency_err | N/A |
194+
| jaeger_bulk_index_latency_ok | N/A | jaeger_bulk_index_latency_ok | N/A |
195+
| jaeger_index_create_attempts_total | N/A | jaeger_index_create_attempts_total | N/A |
196+
| jaeger_index_create_errors_total | N/A | jaeger_index_create_errors_total | N/A |
197+
| jaeger_index_create_inserts_total | N/A | jaeger_index_create_inserts_total | N/A |
198+
| jaeger_index_create_latency_err | N/A | jaeger_index_create_latency_err | N/A |
199+
| jaeger_index_create_latency_ok | N/A | jaeger_index_create_latency_ok | N/A |
200+
### Equivalent Metrics
201+
202+
| V1 Metric | V1 Parameters | V2 Metric | V2 Parameters |
203+
|-----------|---------------|-----------|---------------|
204+
| jaeger_collector_spans_rejected_total | debug, format, svc, transport | receiver_refused_spans | receiver, service_instance_id, service_name, service_version, transport |
205+
| jaeger_build_info | build_date, revision, version | target_info | service_instance_id, service_name, service_version |
206+

scripts/fetch_metrics_reference.py

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
#!/usr/bin/env python3
2+
3+
# Copyright (c) 2024 The Jaeger Authors.
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
# This script fetches the generated metrics markdown tables from the jaegertracing/jaeger repository
7+
# and compiles them into a single reference page for the Jaeger documentation website.
8+
9+
import logging
10+
import os
11+
import ssl
12+
import urllib.request
13+
14+
# Set up logging
15+
logging.basicConfig(level=logging.INFO)
16+
logger = logging.getLogger(__name__)
17+
18+
# Base URL for the raw markdown files generated by the jaeger E2E workflow
19+
BASE_RAW_URL = "https://raw.githubusercontent.com/jaegertracing/jaeger/main/cmd/jaeger/docs/migration/"
20+
21+
TARGET_FILES = [
22+
{"filename": "all-in-one-metrics.md", "title": "All-in-One Component"},
23+
{"filename": "badger-metrics.md", "title": "Badger Storage"},
24+
{"filename": "cassandra-metrics.md", "title": "Cassandra Storage"},
25+
{"filename": "elasticsearch-metrics.md", "title": "Elasticsearch Storage"},
26+
{"filename": "opensearch-metrics.md", "title": "OpenSearch Storage"}
27+
]
28+
29+
30+
def fetch_markdown(filename):
31+
url = BASE_RAW_URL + filename
32+
req = urllib.request.Request(url)
33+
try:
34+
ctx = ssl.create_default_context()
35+
ctx.check_hostname = False
36+
ctx.verify_mode = ssl.CERT_NONE
37+
with urllib.request.urlopen(req, context=ctx) as response:
38+
return response.read().decode("utf-8")
39+
except urllib.error.HTTPError as e:
40+
logger.error(f"HTTP Error fetching {filename}: {e.code} {e.reason}")
41+
return None
42+
except Exception as e:
43+
logger.error(f"Error fetching {filename}: {e}")
44+
return None
45+
46+
47+
def generate_metrics_reference():
48+
content = "---\n"
49+
content += "title: Metrics Reference (v2)\n"
50+
content += "type: docs\n"
51+
content += "weight: 80\n"
52+
content += "---\n\n"
53+
content += "The following tables outline the mapping of Jaeger v1 metrics to their equivalent Jaeger v2 OpenTelemetry metrics. These tables are automatically generated by the Jaeger CI pipelines to ensure backward compatibility and accurate tracking of telemetry data.\n\n"
54+
55+
for item in TARGET_FILES:
56+
logger.info(f"Fetching {item['filename']}...")
57+
md_table = fetch_markdown(item["filename"])
58+
if md_table:
59+
content += f"## {item['title']} Metrics\n\n"
60+
content += f"{md_table.strip()}\n\n"
61+
else:
62+
logger.warning(f"Skipping {item['filename']} due to fetch failure.")
63+
64+
return content
65+
66+
67+
def save_metrics_reference(content):
68+
target_path = "content/docs/v2/_dev/operations/metrics-reference.md"
69+
os.makedirs(os.path.dirname(target_path), exist_ok=True)
70+
with open(target_path, "w") as f:
71+
f.write(content)
72+
logger.info(f"Successfully saved metrics reference to {target_path}")
73+
74+
75+
def main():
76+
try:
77+
content = generate_metrics_reference()
78+
save_metrics_reference(content)
79+
except Exception as e:
80+
logger.error(f"An error occurred: {e}")
81+
82+
83+
if __name__ == "__main__":
84+
main()

0 commit comments

Comments
 (0)