Package io.helidon.tracing.zipkin
Class ZipkinTracerBuilder
- java.lang.Object
-
- io.helidon.tracing.zipkin.ZipkinTracerBuilder
-
- All Implemented Interfaces:
Builder<Tracer>,TracerBuilder<ZipkinTracerBuilder>,Supplier<Tracer>
public class ZipkinTracerBuilder extends Object implements TracerBuilder<ZipkinTracerBuilder>
The ZipkinTracerBuilder is a convenience builder forTracerto use with Zipkin.Unless You want to explicitly depend on Zipkin in Your code, please use
TracerBuilder.create(String)orTracerBuilder.create(Config)that is abstracted.The following table lists zipkin specific defaults and configuration options.
Tracer Configuration Options option default description api-version2 Version of the Zipkin API to use, currently supports 1 and 2 serviceRequired service name protocolhttpsee TracerBuilderhost127.0.0.1see TracerBuilderport9411 see TracerBuilderpath/api/v2/spansDefault for ZipkinTracerBuilder.Version.V2, which is the default versiontagssee TracerBuilderboolean-tagssee TracerBuilderint-tagssee TracerBuilder- See Also:
- Zipkin Attributes, Zipkin Missing Service Name
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classZipkinTracerBuilder.VersionVersions available for Zipkin API.
-
Constructor Summary
Constructors Modifier Constructor Description protectedZipkinTracerBuilder()Default constructor, does not modify state.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ZipkinTracerBuilderaddTracerTag(String key, boolean value)Tracer level tags that get added to all reported spans.ZipkinTracerBuilderaddTracerTag(String key, Number value)Tracer level tags that get added to all reported spans.ZipkinTracerBuilderaddTracerTag(String key, String value)Tracer level tags that get added to all reported spans.Tracerbuild()Builds theTracerfor Zipkin based on the configured parameters.TracerbuildAndRegister()Build and register as a global tracer.ZipkinTracerBuildercollectorHost(String host)Host to use to connect to tracing collector.ZipkinTracerBuildercollectorPath(String path)Override path to use.ZipkinTracerBuildercollectorPort(int port)Port to use to connect to tracing collector.ZipkinTracerBuildercollectorProtocol(String protocol)Protocol to use (such ashttporhttps) to connect to tracing collector.ZipkinTracerBuildercollectorUri(URI uri)Set the collector URI used for sending tracing data.ZipkinTracerBuilderconfig(Config config)Load configuration of tracer from configuration of the application.static ZipkinTracerBuildercreate(Config config)Create a new builder based on values in configuration.ZipkinTracerBuilderenabled(boolean enabled)When enabled, tracing will be sent.static ZipkinTracerBuilderforService(String serviceName)Get a ZipkinTracerbuilder for processing tracing data of a service with a given name.ZipkinTracerBuilderregisterGlobal(boolean global)When enabled, the created instance is also registered as a global tracer.ZipkinTracerBuildersender(Sender sender)The sender to use for sending events to Zipkin.ZipkinTracerBuilderserviceName(String name)Service name of the traced service.ZipkinTracerBuilderversion(ZipkinTracerBuilder.Version version)Version of Zipkin API to use.
-
-
-
Method Detail
-
forService
public static ZipkinTracerBuilder forService(String serviceName)
Get a ZipkinTracerbuilder for processing tracing data of a service with a given name.- Parameters:
serviceName- name of the service that will be using the tracer.- Returns:
Tracerbuilder for Zipkin.
-
create
public static ZipkinTracerBuilder create(Config config)
Create a new builder based on values in configuration. This requires at least a key "service" in the provided config.- Parameters:
config- configuration to load this builder from- Returns:
- a new builder instance.
- See Also:
config(Config)
-
serviceName
public ZipkinTracerBuilder serviceName(String name)
Description copied from interface:TracerBuilderService name of the traced service.- Specified by:
serviceNamein interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
name- name of the service using the tracer- Returns:
- updated builder instance
-
collectorUri
public ZipkinTracerBuilder collectorUri(URI uri)
Description copied from interface:TracerBuilderSet the collector URI used for sending tracing data.Default implementation configures
TracerBuilder.collectorProtocol(String),TracerBuilder.collectorHost(String),TracerBuilder.collectorPath(String)andTracerBuilder.collectorPort(int)if configured in the uri.- Specified by:
collectorUriin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
uri- the endpoint of the tracing collector- Returns:
- updated builder instance
-
collectorProtocol
public ZipkinTracerBuilder collectorProtocol(String protocol)
Description copied from interface:TracerBuilderProtocol to use (such ashttporhttps) to connect to tracing collector. Default is defined by each tracing integration.- Specified by:
collectorProtocolin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
protocol- protocol to use- Returns:
- updated builder instance
-
collectorHost
public ZipkinTracerBuilder collectorHost(String host)
Description copied from interface:TracerBuilderHost to use to connect to tracing collector. Default is defined by each tracing integration.- Specified by:
collectorHostin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
host- host to use- Returns:
- updated builder instance
-
collectorPort
public ZipkinTracerBuilder collectorPort(int port)
Description copied from interface:TracerBuilderPort to use to connect to tracing collector. Default is defined by each tracing integration.- Specified by:
collectorPortin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
port- port to use- Returns:
- updated builder instance
-
collectorPath
public ZipkinTracerBuilder collectorPath(String path)
Override path to use. Path is usually defined by the protocolZipkinTracerBuilder.Version. Use this to override if not using default (e.g. when Zipkin is behind a reverse proxy that prefixes the path).- Specified by:
collectorPathin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
path- path to override the default defined byZipkinTracerBuilder.Version- Returns:
- updated builder instance
-
enabled
public ZipkinTracerBuilder enabled(boolean enabled)
Description copied from interface:TracerBuilderWhen enabled, tracing will be sent. If enabled is false, tracing should use a no-op tracer.- Specified by:
enabledin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
enabled- set tofalseto disable distributed tracing- Returns:
- updated builder instance
-
addTracerTag
public ZipkinTracerBuilder addTracerTag(String key, String value)
Description copied from interface:TracerBuilderTracer level tags that get added to all reported spans.- Specified by:
addTracerTagin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
key- name of the tagvalue- value of the tag- Returns:
- updated builder instance
-
addTracerTag
public ZipkinTracerBuilder addTracerTag(String key, Number value)
Description copied from interface:TracerBuilderTracer level tags that get added to all reported spans.- Specified by:
addTracerTagin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
key- name of the tagvalue- numeric value of the tag- Returns:
- updated builder instance
-
addTracerTag
public ZipkinTracerBuilder addTracerTag(String key, boolean value)
Description copied from interface:TracerBuilderTracer level tags that get added to all reported spans.- Specified by:
addTracerTagin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
key- name of the tagvalue- boolean value of the tag- Returns:
- updated builder instance
-
registerGlobal
public ZipkinTracerBuilder registerGlobal(boolean global)
Description copied from interface:TracerBuilderWhen enabled, the created instance is also registered as a global tracer. When set totruemethodTracerBuilder.build()will have the same result asTracerBuilder.buildAndRegister().- Specified by:
registerGlobalin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
global- whether to register this tracer as a global tracer once built- Returns:
- updated builder instance
-
config
public ZipkinTracerBuilder config(Config config)
Description copied from interface:TracerBuilderLoad configuration of tracer from configuration of the application. The configuration keys are specific for each tracer integration and documented in these integration projects.- Specified by:
configin interfaceTracerBuilder<ZipkinTracerBuilder>- Parameters:
config- configuration node of the tracer configuration- Returns:
- updated builder instance
-
build
public Tracer build()
Builds theTracerfor Zipkin based on the configured parameters.- Specified by:
buildin interfaceBuilder<Tracer>- Specified by:
buildin interfaceTracerBuilder<ZipkinTracerBuilder>- Returns:
- the tracer
-
buildAndRegister
public Tracer buildAndRegister()
Description copied from interface:TracerBuilderBuild and register as a global tracer.- Specified by:
buildAndRegisterin interfaceTracerBuilder<ZipkinTracerBuilder>- Returns:
- The
Tracerbuilt and registered
-
version
public ZipkinTracerBuilder version(ZipkinTracerBuilder.Version version)
Version of Zipkin API to use. Defaults toZipkinTracerBuilder.Version.V2.- Parameters:
version- version to use- Returns:
- updated builder instance
-
sender
public ZipkinTracerBuilder sender(Sender sender)
The sender to use for sending events to Zipkin. When configured, allcollectorProtocol(String),collectorHost(String),collectorPort(int), andversion(Version)methods are ignored.- Parameters:
sender- the sender to use- Returns:
- this builder
-
-