mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-09-03 04:26:12 +08:00
Merge branch '3.0.x' into 3.1.x
Closes gh-36112
This commit is contained in:
commit
20321b5685
@ -79,6 +79,7 @@ dependencies {
|
||||
implementation("ch.qos.logback:logback-classic")
|
||||
implementation("com.zaxxer:HikariCP")
|
||||
implementation("io.micrometer:micrometer-core")
|
||||
implementation("io.micrometer:micrometer-tracing")
|
||||
implementation("io.micrometer:micrometer-registry-graphite")
|
||||
implementation("io.micrometer:micrometer-registry-jmx")
|
||||
implementation("io.projectreactor.netty:reactor-netty-http")
|
||||
|
@ -65,7 +65,7 @@ Now open the Zipkin UI at `http://localhost:9411` and press the "Run Query" butt
|
||||
You should see one trace.
|
||||
Press the "Show" button to see the details of that trace.
|
||||
|
||||
TIP: You can include the current trace and span id in the logs by setting the `logging.pattern.level` property to `%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]`
|
||||
TIP: You can include the current trace and span id in the logs by setting the configprop:logging.pattern.level[] property to `%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]`
|
||||
|
||||
|
||||
|
||||
@ -149,3 +149,18 @@ include::code:CustomObservation[]
|
||||
This will create an observation named "some-operation" with the tag "some-tag=some-value".
|
||||
|
||||
TIP: If you want to create a span without creating a metric, you need to use the https://micrometer.io/docs/tracing#_using_micrometer_tracing_directly[lower-level `Tracer` API] from Micrometer.
|
||||
|
||||
[[actuator.micrometer-tracing.baggage]]
|
||||
=== Baggage
|
||||
You can create baggage with the `Tracer` API:
|
||||
|
||||
include::code:CreatingBaggage[]
|
||||
|
||||
This example creates baggage named `baggage1` with the value `value1`.
|
||||
The baggage is automatically propagated over the network if you're using W3C propagation.
|
||||
If you're using B3 propagation, baggage is not automatically propagated.
|
||||
To manually propagate baggage over the network, use the configprop:management.tracing.baggage.remote-fields[] configuration property (this works for W3C, too).
|
||||
For the example above, setting this property to `baggage1` results in an HTTP header `baggage1: value1`.
|
||||
|
||||
If you want to propagate the baggage to the MDC, use the configprop:management.tracing.baggage.correlation.fields[] configuration property.
|
||||
For the example above, setting this property to `baggage1` results in an MDC entry named `baggage1`.
|
||||
|
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* https://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.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.docs.actuator.micrometertracing.baggage;
|
||||
|
||||
import io.micrometer.tracing.BaggageInScope;
|
||||
import io.micrometer.tracing.Tracer;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
class CreatingBaggage {
|
||||
|
||||
private final Tracer tracer;
|
||||
|
||||
CreatingBaggage(Tracer tracer) {
|
||||
this.tracer = tracer;
|
||||
}
|
||||
|
||||
void doSomething() {
|
||||
try (BaggageInScope scope = this.tracer.createBaggageInScope("baggage1", "value1")) {
|
||||
// Business logic
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user