Commit 79c3645
summary: add string_patterns to promote data event values into summary
Git's trace2 "data" events carry structured (category, key, value)
tuples that can contain important diagnostic information, such as
curl/SSL error details from gvfs-helper. Previously, these values
were only included in the OTLP output at higher detail levels:
"dl:process" for process-level data and "dl:verbose" for
region-level data. At the default "dl:summary" level, they were
silently dropped.
This is a problem for deployments that want lightweight telemetry
(summary level) but still need visibility into specific error
conditions reported via data events.
Add a new "string_patterns" rule type to the summary configuration,
alongside the existing "message_patterns" and "region_timers".
Each rule matches data events by exact category and key prefix,
and captures the event's actual value (not just a count) into the
summary. This is emitted at all detail levels via the existing
"trace2.process.summary" span attribute.
Key design decisions:
- Values are always emitted as arrays for schema stability, even
when only a single event matches. This avoids downstream parsers
having to handle both scalar and array types for the same field.
- Summary promotion runs before region attachment in
apply__data_generic(), so matching is not skipped when region
stack lookup fails (e.g. orphaned data events at nesting > 1).
- Validation enforces that field names are unique across all three
rule types (message_patterns, region_timers, string_patterns).
Example configuration:
string_patterns:
- category: "gvfs-helper"
key_prefix: "error/"
field_name: "gvfs_helper_errors"
For a data event like:
{"event":"data", "category":"gvfs-helper",
"key":"error/curl",
"value":"(curl:35) SSL connect error [hard_fail]"}
The summary output will contain:
{"gvfs_helper_errors":
["(curl:35) SSL connect error [hard_fail]"]}
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 222a5ba commit 79c3645
4 files changed
Lines changed: 338 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
830 | 830 | | |
831 | 831 | | |
832 | 832 | | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
833 | 841 | | |
834 | 842 | | |
835 | 843 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
18 | 22 | | |
19 | 23 | | |
20 | 24 | | |
| |||
24 | 28 | | |
25 | 29 | | |
26 | 30 | | |
| 31 | + | |
27 | 32 | | |
28 | 33 | | |
29 | 34 | | |
| |||
47 | 52 | | |
48 | 53 | | |
49 | 54 | | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
50 | 60 | | |
51 | 61 | | |
52 | 62 | | |
| |||
68 | 78 | | |
69 | 79 | | |
70 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
71 | 87 | | |
72 | 88 | | |
73 | 89 | | |
| |||
92 | 108 | | |
93 | 109 | | |
94 | 110 | | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
95 | 117 | | |
96 | 118 | | |
97 | 119 | | |
| |||
153 | 175 | | |
154 | 176 | | |
155 | 177 | | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
49 | 68 | | |
50 | 69 | | |
51 | 70 | | |
| |||
104 | 123 | | |
105 | 124 | | |
106 | 125 | | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
107 | 143 | | |
108 | 144 | | |
0 commit comments