Repository navigation
Commit cb38b30
authored
Analyze OTLP spans opt-in by service.layer, and file the OTLP service catalog by layer (#14170)
TAL is opt-in by layer:
- The shipped tal/otlp-general.yaml (was otlp-default.yaml) declares
its rules for OTLP_GENERAL (renamed from OTLP_SERVICE). Only spans
whose resource carries service.layer=OTLP_GENERAL are analyzed; the
others are stored and searchable, and the OAP logs one INFO line per
service whose spans carry no layer.
- New OTLP_MESH layer, with no shipped rules, for mesh sidecars.
- No layer: auto. A rule declares a registered layer, or the OAP does
not start.
The OTLP service catalog keeps the layer:
- OTLPServiceTraffic stores service.layer in otlp_service_layer, one
row per name and layer, UNDEFINED when absent or unregistered.
IOTLPTraceQueryDAO#getServiceNames is replaced by getServices(layer),
filtered in BanyanDB, Elasticsearch and JDBC.
- The stored span carries the same layer, and a TraceQL q on
resource.service.layer alone is answered from the catalog.
Network aliases come from strict span pairing:
- A caller half, keyed by its span id, meets the callee half of the
SERVER span whose parent is that span, on the trace's owner node.
prepareNetworkAlias, buildNetworkAlias and resolveNetworkAlias
replace the alias statement, resolveAlias and KnownServices.
- The alias is keyed by the caller and the address it dialed,
frontend->cart:7070 (callerScopedAddress). The topology query folds
an address node by the caller-scoped row, then by the plain one.
- pairingSamplePercent (default 25) picks the traces paired. An
address listed in gateways.yml is never aliased and is drawn as a
VIRTUAL_GATEWAY node (isGateway).
- A SERVER span that passed its own context upstream, as nginx's
OpenTelemetry modules do, may send a caller half, so a proxy that
reports one span per request is learned on both hops.
Network address alias writes (agent path too):
- NetworkAddressAlias#combine skips the write of an unchanged mapping
written less than five minutes ago, and last_update_time_bucket is
the minute OAP received the setup: a stable alias costs about twelve
writes an hour instead of about 140.
Docs: tal.md, trace-analyzer.md, otlp-trace.md, traceql-service.md,
configuration-vocabulary.md, and the new
trace-analyzer-practices.md.1 parent 4c831c7 commit cb38b30
84 files changed
Lines changed: 3558 additions & 1875 deletions
File tree
- docs
- en
- api
- changes
- concepts-and-designs
- setup/backend
- oap-server
- analyzer/trace-analyzer/src
- main
- antlr4/org/apache/skywalking/tal/rt/grammar
- java/org/apache/skywalking/oap/trace/analyzer/v2
- compiler
- rt
- dsl
- spec
- module
- provider
- span
- listener
- test/java/org/apache/skywalking/oap/trace/analyzer/v2
- compiler
- dsl
- provider
- span
- listener
- server-core/src
- main/java/org/apache/skywalking/oap/server/core
- analysis
- manual/networkalias
- cache
- otlp
- dispatcher
- source
- query
- storage/query
- test/java/org/apache/skywalking/oap/server/core
- analysis/manual/networkalias
- otlp
- query
- server-query-plugin/traceql-plugin/src
- main/java/org/apache/skywalking/oap/query/traceql/handler
- test/java/org/apache/skywalking/oap/query/traceql/handler
- server-receiver-plugin/otel-receiver-plugin/src
- main/java/org/apache/skywalking/oap/server/receiver/otel/otlp
- test/java/org/apache/skywalking/oap/server/receiver/otel/otlp
- server-starter/src/main/resources
- tal
- server-storage-plugin
- storage-banyandb-plugin/src
- main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/trace
- test/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/trace
- storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/otlp
- storage-jdbc-hikaricp-plugin/src
- main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao
- test/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/common/dao
- test/e2e-v2/cases
- otlp-traces/native
- expected
- storage/expected
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
868 | 868 | | |
869 | 869 | | |
870 | 870 | | |
871 | | - | |
872 | | - | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
873 | 881 | | |
874 | 882 | | |
875 | 883 | | |
| |||
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | | - | |
| 181 | + | |
182 | 182 | | |
183 | | - | |
184 | | - | |
| 183 | + | |
| 184 | + | |
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
116 | | - | |
| 116 | + | |
| 117 | + | |
117 | 118 | | |
118 | 119 | | |
119 | 120 | | |
120 | 121 | | |
121 | 122 | | |
122 | 123 | | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
155 | 131 | | |
156 | | - | |
| 132 | + | |
157 | 133 | | |
158 | 134 | | |
159 | 135 | | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | 136 | | |
167 | 137 | | |
168 | 138 | | |
| |||
199 | 169 | | |
200 | 170 | | |
201 | 171 | | |
202 | | - | |
203 | | - | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
0 commit comments