Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
256 commits
Select commit Hold shift + click to select a range
8e7a2d6
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Apr 29, 2026
1c0d21d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Apr 29, 2026
5bdb6b4
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Apr 30, 2026
5e37f71
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Apr 30, 2026
43ae5c2
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Apr 30, 2026
a8549a7
fix(telemetry): address code review findings for Phase 8 log-trace co…
pratikmankawde May 6, 2026
fac6c3a
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde May 6, 2026
8533092
feat(telemetry): add Loki service and filelog receiver for Phase 8 lo…
pratikmankawde May 6, 2026
5ad5bac
compilation fixes
pratikmankawde May 6, 2026
e49c599
added loki config.
pratikmankawde May 6, 2026
dd4911e
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde May 13, 2026
4bbe28c
fix(consensus): restore DisputedTx getYays/getNays accessors
pratikmankawde May 13, 2026
fac3287
fix(telemetry): use .batches for Tempo trace lookup in integration test
pratikmankawde May 13, 2026
6cd910f
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde May 13, 2026
6dd4376
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde May 13, 2026
829094d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde May 13, 2026
690841e
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde May 14, 2026
8df3ea1
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde May 14, 2026
577cb9b
merge: pratik/otel-phase7-native-metrics fix(SpanKind) into pratik/ot…
pratikmankawde May 14, 2026
0e5e802
merge: pratik/otel-phase7-native-metrics (dashboard UID + line-number…
pratikmankawde May 14, 2026
0e25103
fix(telemetry): make Loki ingestion and filelog parsing work end-to-end
pratikmankawde May 14, 2026
ba7e1f9
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde May 29, 2026
cd6264c
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 1, 2026
dc7788a
clang-tidy fixes
pratikmankawde Jun 1, 2026
7c09c38
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 1, 2026
20a6274
minor namespace fix
pratikmankawde Jun 1, 2026
47f3480
fix(telemetry): replace indirect OTel includes with direct headers in…
pratikmankawde Jun 1, 2026
bed6770
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 1, 2026
3eeb8b3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 3, 2026
66552e7
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 3, 2026
39f3b86
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 3, 2026
f60c995
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 3, 2026
013252f
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 3, 2026
9947a52
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 4, 2026
811b934
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 4, 2026
8f9fa52
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 4, 2026
15d3e3a
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 4, 2026
6c71aa8
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 4, 2026
a5f8051
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 4, 2026
342b9f5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 4, 2026
ca3a78a
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 4, 2026
d6b314e
fix(telemetry): trim Tempo search filters to 7 cross-cutting entry po…
pratikmankawde Jun 4, 2026
8f3974c
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 5, 2026
b8dd848
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 5, 2026
8046a30
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 5, 2026
3e4b1eb
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 9, 2026
72b449c
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 9, 2026
21c177c
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 10, 2026
7784fa2
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 10, 2026
3236daf
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 11, 2026
fb81d13
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 11, 2026
c13aac4
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 11, 2026
663ef98
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 11, 2026
c301237
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 11, 2026
7b7b3e7
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 11, 2026
dc3d510
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 26, 2026
2668e9f
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 26, 2026
cc37bc3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 26, 2026
f7ddfbe
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jun 26, 2026
294b167
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 3, 2026
20179dc
feat(telemetry): tag logs with deployment tier at the collector
pratikmankawde Jul 3, 2026
93f776f
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 3, 2026
1a279e3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 3, 2026
b019710
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 3, 2026
e86c1ad
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 3, 2026
2a90b58
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 3, 2026
324b58d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 4, 2026
6ff90a2
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 4, 2026
85ce646
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 4, 2026
3b84e32
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 4, 2026
8c02c15
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 4, 2026
be50ecd
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 4, 2026
5709b74
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 6, 2026
2ab9fb9
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 6, 2026
2b41933
docs(telemetry): drop dev-phase label from Log-Trace Correlation heading
pratikmankawde Jul 6, 2026
af783b1
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 6, 2026
fe88034
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 6, 2026
5505291
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 6, 2026
4abc180
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 7, 2026
f80c1c3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 7, 2026
d76e067
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 7, 2026
c3ac033
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 7, 2026
89cb633
fix(consensus): drop DisputedTx accessor churn unrelated to log corre…
pratikmankawde Jul 7, 2026
aefc87a
docs(telemetry): remove Phase references from loki/tempo datasource c…
pratikmankawde Jul 7, 2026
9e5f1ca
docs(telemetry): address review feedback on phase-8 log correlation
pratikmankawde Jul 7, 2026
41875b1
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 7, 2026
f99a1c5
fix(telemetry): consolidate xrpld log mount to a single rootless path
pratikmankawde Jul 7, 2026
e4a7868
fix(telemetry): make devnet debug_logfile config-dir-relative
pratikmankawde Jul 7, 2026
a3053a3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
c75de2d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
a681eea
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
c2e5c93
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
68b1c7d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
f0d72f5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
0b76f91
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
5f32fb7
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
cefcd88
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 9, 2026
4ed9bd5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 9, 2026
6530e7d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 9, 2026
982e3cf
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
9fa9a34
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
4f2b7cf
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
0c9001d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
8ca7036
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
e9a0b49
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
5a1bbc5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 11, 2026
cd091bf
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 13, 2026
94a02e8
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 13, 2026
71686b0
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 13, 2026
af9a2e8
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
9b9e478
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
4f9c507
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
61e6d00
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
c18f9cb
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
e3452f9
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 15, 2026
1406c50
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 15, 2026
6203e46
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 20, 2026
9450749
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 20, 2026
6919efe
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 20, 2026
1525f83
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 20, 2026
aa0c6b3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 20, 2026
412f15c
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 20, 2026
c2c521a
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 20, 2026
1b5246d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 20, 2026
2459ce9
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 21, 2026
f78bc43
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 22, 2026
dad2dc2
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 22, 2026
4858f65
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 22, 2026
644cf3a
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 22, 2026
608976d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 22, 2026
31f6eee
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 22, 2026
7531717
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 22, 2026
0187250
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 23, 2026
29df9c4
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 23, 2026
0de12c7
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
07bc6d2
refactor(telemetry): name trace_id/span_id literals and hex widths in…
pratikmankawde Jul 24, 2026
46b7277
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
380a716
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
c0daf55
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
e8aac40
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
8f8ce40
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
75cc378
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
b0168f9
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
fe1c4db
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
3cf24e1
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 24, 2026
a8bfc69
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 25, 2026
80c82f8
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 27, 2026
23c93cd
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 27, 2026
6eec363
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 27, 2026
c98c8da
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 27, 2026
ab026ea
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 27, 2026
f78db4b
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 28, 2026
7e2cd62
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 28, 2026
d9c8f31
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 28, 2026
aef601a
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 29, 2026
e404d74
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 29, 2026
09c9dc4
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 30, 2026
3f86c74
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 30, 2026
781ec3d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 5, 2026
e57b859
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 5, 2026
0a74688
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 5, 2026
3a889cf
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 6, 2026
0fc2844
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 7, 2026
e477ca8
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 7, 2026
a1919a0
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 7, 2026
76d440a
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 7, 2026
e9ce861
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 7, 2026
91fd4d3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 7, 2026
68b94e6
docs(telemetry): name log-trace correlation instead of its phase number
pratikmankawde Aug 14, 2026
46ed205
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 14, 2026
292aee9
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 14, 2026
efd51f5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 14, 2026
d4282cc
fix(telemetry): correct log-correlation defects found in PR review
pratikmankawde Aug 15, 2026
a09416e
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 15, 2026
24cebcc
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 17, 2026
de0fefc
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 17, 2026
301149d
fix(telemetry): keep filelog offset storage out of the shared collect…
pratikmankawde Aug 17, 2026
f3681ad
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 17, 2026
b19e429
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 17, 2026
bbc5720
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 17, 2026
ed36578
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 20, 2026
8fac7fc
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 20, 2026
b2ba81a
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 20, 2026
dbef6a7
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 20, 2026
74d0bb4
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 20, 2026
0136291
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 21, 2026
8169894
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 21, 2026
9542f87
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 24, 2026
1b62ab0
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 24, 2026
113a7a9
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 24, 2026
520e8e5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 25, 2026
b3a5b2b
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 25, 2026
09908f7
fix(telemetry): guard <cstddef> in Log.cpp to match its use
pratikmankawde Aug 26, 2026
4f05649
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 27, 2026
0fcd690
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 27, 2026
e350f79
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 27, 2026
b482626
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 27, 2026
076a281
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 27, 2026
3ea45ef
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 27, 2026
cafaa9f
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 27, 2026
ecbf835
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Aug 27, 2026
a0ba7f6
docs(telemetry): rewrite the bucket-ladder and collector docs without…
pratikmankawde Sep 2, 2026
9fd5414
merge: bring the traces_endpoint rename forward from phase-7
pratikmankawde Sep 3, 2026
4587986
merge: bring the metrics_endpoint key forward from phase-7
pratikmankawde Sep 3, 2026
3ac8f3f
merge: bring the span-attribute fixes forward from phase7-native-metrics
pratikmankawde Sep 3, 2026
b977850
merge: bring develop forward from phase7-native-metrics
pratikmankawde Sep 3, 2026
771ea27
merge: bring telemetry config and doc fixes forward from phase7-nativ…
pratikmankawde Sep 3, 2026
1bee0b1
merge: bring the close-time attr doc fixes forward from phase7-native…
pratikmankawde Sep 4, 2026
efa6535
merge: bring the review fixes forward from otel-phase7-native-metrics
pratikmankawde Sep 7, 2026
547cc8b
merge: bring the review fixes forward from otel-phase7-native-metrics
pratikmankawde Sep 8, 2026
75f2d04
merge: bring the CI fixes forward from phase7-native-metrics
pratikmankawde Sep 8, 2026
4a7ce85
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 9, 2026
cbb8581
fix(telemetry): make the log pipeline actually deliver, and fix its docs
pratikmankawde Sep 9, 2026
5cb829a
merge: bring the lock-free ValidationTracker forward from phase7-nati…
pratikmankawde Sep 9, 2026
6f28d46
merge: bring the component renames forward from phase7-native-metrics
pratikmankawde Sep 9, 2026
975238d
docs(telemetry): fix the node log path, log level and Grafana span link
pratikmankawde Sep 11, 2026
c92bb3e
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 14, 2026
0c2b002
merge: bring phase-7's gauges weak-ref refactor forward
pratikmankawde Sep 14, 2026
b8dbba9
merge: bring the resolveNodeIdentity() decision tests forward from ph…
pratikmankawde Sep 14, 2026
26a2baf
merge: bring the noopMeter() clang-tidy fixes forward from phase7-nat…
pratikmankawde Sep 14, 2026
ec28856
merge: bring the SecretKey test-compare fix forward from phase7-nativ…
pratikmankawde Sep 15, 2026
e92548a
merge: bring the clang-tidy include-cleaner fixes forward from phase7…
pratikmankawde Sep 15, 2026
751c23b
merge: bring the optional-access NOLINT fix forward from phase7-nativ…
pratikmankawde Sep 15, 2026
913721b
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 15, 2026
d0baef8
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 17, 2026
caa3eb5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 17, 2026
f666427
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 18, 2026
673e12e
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 18, 2026
95cc50d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 18, 2026
3d358f3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 18, 2026
f1e62ba
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 18, 2026
8fef4b3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 18, 2026
6174d03
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 21, 2026
0e4db42
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 21, 2026
4cbb219
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 21, 2026
b2aa831
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 21, 2026
fb92c78
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 21, 2026
0dccf29
fix(telemetry): publish the Loki port on the host loopback
pratikmankawde Sep 22, 2026
46ca2da
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 22, 2026
87fad43
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 22, 2026
226c56e
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 22, 2026
a9541a7
fix(telemetry): Install the OTel context storage before any thread st…
pratikmankawde Sep 22, 2026
fcdc4f9
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 22, 2026
d390539
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 22, 2026
e06fdd2
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 23, 2026
3328bd2
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 23, 2026
1381b8f
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 23, 2026
56f6b9b
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 23, 2026
ca601ce
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 23, 2026
69db761
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Sep 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .cspell.config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ words:
- libxrpl
- llection
- LOCALGOOD
- logql
- logwstream
- Lombrozo
- lresolv
Expand Down Expand Up @@ -238,6 +239,7 @@ words:
- onlatest
- ostr
- otelc
- otelcol
- otool
- oxalica
- pargs
Expand Down
158 changes: 158 additions & 0 deletions OpenTelemetryPlan/06-implementation-phases.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,15 @@ gantt

section Phase 5
Documentation & Deploy :p5, after p4, 1w

section Phase 6
StatsD Metrics Bridge :p6, after p5, 1w

section Phase 7
Native OTel Metrics :p7, after p6, 2w

section Phase 8
Log-Trace Correlation :p8, after p7, 1w
```

---
Expand Down Expand Up @@ -561,6 +570,154 @@ See [Phase7_taskList.md](./Phase7_taskList.md) for detailed per-task breakdown.

---

## 6.8.1 Phase 8: Log-Trace Correlation and Centralized Log Ingestion (Week 13)

### Motivation

xrpld's `beast::Journal` logs and OpenTelemetry traces are currently two disjoint observability signals. When investigating an issue, operators must manually correlate timestamps between log files and Jaeger/Tempo traces. Phase 8 bridges this gap by injecting trace context (`trace_id`, `span_id`) into every log line emitted within an active, sampled span, and ingesting those logs into Grafana Loki via the OTel Collector's file_log receiver.

#### Gains

1. **One-click trace-to-log navigation** — Click a trace in Tempo/Jaeger and immediately see the corresponding log lines in Loki, filtered by `trace_id`.
2. **Reverse lookup (log-to-trace)** — Loki derived fields make `trace_id` values clickable links back to Tempo.
3. **Unified observability** — All three pillars (traces, metrics, logs) flow through the same OTel Collector pipeline and are visible in a single Grafana instance.
4. **Zero new dependencies in xrpld** — Uses existing OTel SDK headers (`RuntimeContext`, `SpanContext`) already linked in Phase 1.
5. **Negligible overhead** — The implementation checks the thread-local context value directly, avoiding heap allocation on the no-span path (~15-20ns). On the active-span path, total cost is ~50ns per log call. At typical logging rates, overhead is negligible.

#### Losses / Risks

1. **Log format change** — Existing log parsers that rely on a fixed format will need updating to handle the optional `trace_id=... span_id=...` fields.
2. **Loki resource usage** — Log ingestion adds storage and memory overhead to the observability stack (mitigated by retention policies).
3. **Filelog receiver complexity** — The regex parser must be kept in sync with the log format; a format change in `Logs::format()` could break parsing.

#### Decision

The correlation value far outweighs the risks. The log format change is backward-compatible (fields are appended only when a sampled span is active), and the file_log receiver regex is straightforward to maintain.

### Architecture

Phase 8 has two independent sub-phases that can be developed in parallel:

- **Phase 8a (code change)**: Modify `Logs::format()` in `src/libxrpl/basics/Log.cpp` to append `trace_id=<hex32> span_id=<hex16>` when the current thread has an active OTel span. Guarded by `#ifdef XRPL_ENABLE_TELEMETRY`.
- **Phase 8b (infra only)**: Add Loki to the Docker Compose stack, configure the OTel Collector's `file_log` receiver to tail xrpld's log file, parse out structured fields (timestamp, partition, severity, trace_id, span_id, message), and export to Loki via OTLP. Configure Grafana Tempo↔Loki bidirectional linking.

#### Trace ID Injection Flow

```mermaid
flowchart LR
subgraph xrpld["xrpld process"]
JLOG["`**JLOG(j.info())**
a log call on some thread`"]
Format["`**Logs::format()**
builds the log line`"]
OTelCtx["`**OTel thread-local context**
RuntimeContext::GetCurrent()
GetValue(kSpanKey)`"]
JLOG --> Format
OTelCtx -.->|"`GetContext()
if IsValid and IsSampled`"| Format
end

subgraph output["Log output"]
LogLine["`2026-Jan-15 10:30:45.123456789 UTC
LedgerMaster:NFO
trace_id=abc123... span_id=def456...
Validated ledger 42`"]
end

Format --> LogLine

subgraph legend["Reading the diagram"]
direction LR
L1["`**Solid arrow**
happens on every log call`"]
L2["`**Dotted arrow**
only adds ids when a sampled span is active on this thread`"]
L3["`**kSpanKey lookup**
reads the context value directly, so the no-span path allocates nothing`"]
end

L1 ~~~ L2 ~~~ L3
output ~~~ legend

style xrpld fill:#1a237e,stroke:#0d1642,color:#fff
style output fill:#1b5e20,stroke:#0d3d14,color:#fff
style JLOG fill:#283593,stroke:#1a237e,color:#fff
style Format fill:#283593,stroke:#1a237e,color:#fff
style OTelCtx fill:#283593,stroke:#1a237e,color:#fff
style LogLine fill:#2e7d32,stroke:#1b5e20,color:#fff
```

#### Loki Ingestion Pipeline

```mermaid
flowchart LR
subgraph collector["OTel Collector"]
FR["`**file_log receiver**
tails debug.log`"]
RP["`**regex_parser**
extracts timestamp, partition,
severity, trace_id, span_id`"]
BP["`**batch processor**`"]
LE["`**otlp_http/loki exporter**`"]
FR --> RP --> BP --> LE
end

LogFile["`**xrpld**
debug.log`"] --> FR
LE --> Loki["`**Grafana Loki**
:3100`"]
Loki <-->|"`derivedFields
tracesToLogs`"| Tempo["`**Grafana Tempo**`"]

subgraph legend["Reading the diagram"]
direction LR
L1["`**Solid arrow**
the path every log line takes`"]
L2["`**Double arrow**
Grafana links the two backends both ways: a trace jumps to its logs, a trace_id in a log jumps back to the trace`"]
L3["`**otlp_http, not otlp**
Loki is reached over OTLP/HTTP; the old dedicated loki exporter was removed upstream`"]
end

L1 ~~~ L2 ~~~ L3
collector ~~~ legend

style collector fill:#e65100,stroke:#bf360c,color:#fff
style FR fill:#f57c00,stroke:#e65100,color:#fff
style RP fill:#f57c00,stroke:#e65100,color:#fff
style BP fill:#f57c00,stroke:#e65100,color:#fff
style LE fill:#f57c00,stroke:#e65100,color:#fff
style LogFile fill:#1a237e,stroke:#0d1642,color:#fff
style Loki fill:#4a148c,stroke:#2e0d57,color:#fff
style Tempo fill:#4a148c,stroke:#2e0d57,color:#fff
```

### Tasks

| Task | Description |
| ---- | ---------------------------------------------- |
| 8.1 | Inject trace_id into Logs::format() |
| 8.2 | Add Loki to Docker Compose stack |
| 8.3 | Add file_log receiver to OTel Collector |
| 8.4 | Configure Grafana trace-to-log correlation |
| 8.5 | Update integration tests |
| 8.6 | Update documentation (runbook, reference docs) |

**Parallel work**: Task 8.2 (Loki infra) can run in parallel with Task 8.1 (code change). Tasks 8.3–8.6 are sequential.

### Exit Criteria

- [ ] Log lines within active spans contain `trace_id=<hex> span_id=<hex>`
- [ ] Log lines outside spans have no trace context (no empty fields)
- [ ] Loki ingests xrpld logs via OTel Collector file_log receiver
- [ ] Grafana Tempo → Loki one-click correlation works
- [ ] Grafana Loki → Tempo reverse lookup works via derived field
- [ ] Integration test verifies trace_id presence in logs
- [ ] No performance regression from trace_id injection (< 0.1% overhead)

---

## 6.9 Risk Assessment

```mermaid
Expand Down Expand Up @@ -839,6 +996,7 @@ Clear, measurable criteria for each phase.
| Phase 5 | Production deployment | Operators trained | End of Week 9 |
| Phase 6 | StatsD metrics in Prometheus | 3 dashboards operational | End of Week 10 |
| Phase 7 | All metrics via OTLP | No StatsD dependency | End of Week 12 |
| Phase 8 | trace_id in logs + Loki | Tempo↔Loki correlation | End of Week 13 |

---

Expand Down
1 change: 1 addition & 0 deletions OpenTelemetryPlan/08-appendix.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ flowchart TB
| [Phase5_taskList.md](./Phase5_taskList.md) | Ledger processing & advanced tracing |
| [Phase5_IntegrationTest_taskList.md](./Phase5_IntegrationTest_taskList.md) | Observability stack integration tests |
| [Phase7_taskList.md](./Phase7_taskList.md) | Native OTel metrics migration |
| [Phase8_taskList.md](./Phase8_taskList.md) | Log-trace correlation |

---

Expand Down
73 changes: 73 additions & 0 deletions OpenTelemetryPlan/09-data-collection-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -940,6 +940,79 @@ state_accounting_full_duration

---

## 5a. Log-Trace Correlation (Phase 8)

> **Plan details**: [06-implementation-phases.md §6.8.1](./06-implementation-phases.md) — motivation, architecture, Mermaid diagrams
> **Task breakdown**: [Phase8_taskList.md](./Phase8_taskList.md) — per-task implementation details

Phase 8 injects OTel trace context into xrpld's `Logs::format()` output, enabling log-trace correlation. When a log line is emitted within an active, sampled OTel span, the trace and span identifiers are automatically appended after the severity field:

### Log Format

```
<timestamp> <partition>:<severity> trace_id=<32hex> span_id=<16hex> <message>
```

Example:

```
2024-Jan-15 10:30:45.123456789 UTC LedgerMaster:NFO trace_id=abc123def456789012345678abcdef01 span_id=0123456789abcdef Validated ledger 42
```

- **`trace_id=<hex32>`** — 32-character lowercase hex trace identifier. Links to the distributed trace in Tempo/Jaeger.
- **`span_id=<hex16>`** — 16-character lowercase hex span identifier. Identifies the specific span within the trace.
- **Only present** when the log is emitted within an active OTel span whose context is sampled. Log lines outside of traced code paths, and lines inside a span the sampler dropped, have no trace context fields. A dropped span still carries its parent's identifiers, so emitting them would point at a trace that was never exported.

### Implementation

The trace context injection is implemented in `Logs::format()` (`src/libxrpl/basics/Log.cpp`), guarded by `#ifdef XRPL_ENABLE_TELEMETRY`. It checks the thread-local runtime context value directly (via `RuntimeContext::GetCurrent().GetValue(kSpanKey)`) to avoid the heap allocation that `GetSpan()` performs on the no-span path. On threads without an active span, the cost is a thread-local read + variant type check (~15-20ns). On the active-span path, total cost is ~50ns per log call.

### Log Ingestion Pipeline

```
xrpld debug.log -> OTel Collector file_log receiver -> regex_parser -> Loki exporter -> Grafana Loki
```

The OTel Collector's `file_log` receiver tails `debug.log` files and uses a `regex_parser` operator to extract structured fields:

| Field | Type | Description |
| ----------- | -------- | -------------------------------------------------------- |
| `timestamp` | datetime | Log timestamp |
| `partition` | string | Log partition (e.g., `LedgerMaster`, `PeerImp`) |
| `severity` | string | Severity code (`TRC`, `DBG`, `NFO`, `WRN`, `ERR`, `FTL`) |
| `trace_id` | string | 32-hex trace identifier (optional) |
| `span_id` | string | 16-hex span identifier (optional) |
| `message` | string | Log message body |

### Grafana Correlation

Bidirectional linking between logs and traces is configured via Grafana datasource provisioning:

- **Tempo -> Loki** (`tracesToLogs`): Clicking "Logs for this trace" on a Tempo trace view filters Loki logs by `trace_id`, showing all log lines from that trace.
- **Loki -> Tempo** (`derivedFields`): A regex-based derived field on the Loki datasource extracts `trace_id` from log lines and renders it as a clickable link to the corresponding trace in Tempo.

### Loki Backend

Grafana Loki (v3.4.2) serves as the log storage backend. It receives log entries from the OTel Collector's `otlp_http/loki` exporter via the native OTLP endpoint at `http://loki:3100/otlp`.

### LogQL Query Examples

```logql
# Find all logs for a specific trace
{service_name="xrpld"} |= "trace_id=abc123def456789012345678abcdef01"

# Error logs with trace context
{service_name="xrpld"} |= "ERR" |= "trace_id="

# Logs from a specific partition with trace context
{service_name="xrpld"} |= "LedgerMaster" | regexp `trace_id=(?P<trace_id>[a-f0-9]+)` | trace_id != ""

# Count traced log lines over time
count_over_time({service_name="xrpld"} |= "trace_id=" [5m])
```

---

## 6. Known Issues

| Issue | Impact | Status |
Expand Down
5 changes: 3 additions & 2 deletions OpenTelemetryPlan/OpenTelemetryPlan.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ OpenTelemetry Collector configurations are provided for development and producti

## 6. Implementation Phases

The implementation spans 12 weeks across 7 phases:
The implementation spans 13 weeks across 8 phases:

| Phase | Duration | Focus | Key Deliverables |
| ----- | ----------- | --------------------- | ----------------------------------------------------------- |
Expand All @@ -175,8 +175,9 @@ The implementation spans 12 weeks across 7 phases:
| 5 | Week 9 | Documentation | Runbook, Dashboards, Training |
| 6 | Week 10 | StatsD Metrics Bridge | OTel Collector StatsD receiver, 3 Grafana dashboards |
| 7 | Weeks 11-12 | Native OTel Metrics | OTelCollector impl, OTLP metrics export, StatsD deprecation |
| 8 | Week 13 | Log-Trace Correlation | trace_id in logs, Loki ingestion, Tempo↔Loki linking |

**Total Effort**: 60.6 developer-days with 2 developers
**Total Effort**: 65.1 developer-days with 2 developers

➡️ **[View full Implementation Phases](./06-implementation-phases.md)**

Expand Down
Loading
Loading