includes.tracing.common-spans.adoc Maven / Gradle / Ivy
The newest version!
///////////////////////////////////////////////////////////////////////////////
Copyright (c) 2021, 2023 Oracle and/or its affiliates.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
///////////////////////////////////////////////////////////////////////////////
ifndef::rootdir[:rootdir: {docdir}/../..]
== Traced spans
The following table lists all spans traced by Helidon components:
[cols="2,2,4", role="flex, sm10"]
|===
|component |span name |description
|`web-server` |`HTTP Request` |The overall span of the Web Server from request initiation until response
Note that in `Zipkin` the name is replaced with `jax-rs` span name if `jax-rs` tracing
is used.
|`web-server` |`content-read` |Span for reading the request entity
|`web-server` |`content-write` |Span for writing the response entity
|`security` |`security` |Processing of request security
|`security` |`security:atn` |Span for request authentication
|`security` |`security:atz` |Span for request authorization
|`security` |`security:response` |Processing of response security
|`security` |`security:outbound` |Processing of outbound security
|`jax-rs` |A generated name |Span for the resource method invocation, name is generated from class and method name
|`jax-rs` |`jersey-client-call` |Span for outbound client call
|===
Some of these spans `log` to the span. These log events can be (in most cases) configured:
[cols="2,2,1,1,8", role="flex, sm10"]
|===
|span name |log name |configurable |enabled by default |description
|`HTTP Request` |`handler.class` |YES |YES |Each handler has its class and event logged
|`security` |`status` |YES |YES |Logs either "status: PROCEED" or "status: DENY"
|`security:atn` |`security.user` |YES |NO |The username of the user if logged in
|`security:atn` |`security.service` |YES |NO |The name of the service if logged in
|`security:atn` |`status` |YES |YES |Logs the status of security response (such as `SUCCESS`)
|`security:atz` |`status` |YES |YES |Logs the status of security response (such as `SUCCESS`)
|`security:outbound`|`status` |YES |YES |Logs the status of security response (such as `SUCCESS`)
|===
There are also tags that are set by Helidon components. These are not configurable.
[cols="2,2,4", role="flex, sm10"]
|===
|span name |tag name |description
|`HTTP Request` |`component` |name of the component - `helidon-webserver`, or `jaxrs` when using MP
|`HTTP Request` |`http.method` |HTTP method of the request, such as `GET`, `POST`
|`HTTP Request` |`http.status_code` |HTTP status code of the response
|`HTTP Request` |`http.url` |The path of the request (for SE without protocol, host and port)
|`HTTP Request` |`error` |If the request ends in error, this tag is set to `true`, usually accompanied by logs with details
|`security` |`security.id` |ID of the security context created for this request (if security is used)
|`jersey-client-call` |`http.method` |HTTP method of the client request
|`jersey-client-call` |`http.status_code` |HTTP status code of client response
|`jersey-client-call` |`http.url` |Full URL of the request (such as `http://localhost:8080/greet`)
|===