{"id":20381568,"url":"https://github.com/snowdrop/opentracing-tracer","last_synced_at":"2026-04-22T05:33:44.285Z","repository":{"id":57736712,"uuid":"119866844","full_name":"snowdrop/opentracing-tracer","owner":"snowdrop","description":"DEPRECATED - Spring Boot autoconfiguration for OpenTracing tracer implementations","archived":false,"fork":false,"pushed_at":"2018-06-05T10:16:39.000Z","size":88,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-01-15T07:38:13.119Z","etag":null,"topics":["bean","opentracing","spring","spring-boot-autoconfiguration"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snowdrop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-01T17:06:10.000Z","updated_at":"2019-02-24T07:00:33.000Z","dependencies_parsed_at":"2022-08-24T02:51:04.891Z","dependency_job_id":null,"html_url":"https://github.com/snowdrop/opentracing-tracer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowdrop%2Fopentracing-tracer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowdrop%2Fopentracing-tracer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowdrop%2Fopentracing-tracer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowdrop%2Fopentracing-tracer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snowdrop","download_url":"https://codeload.github.com/snowdrop/opentracing-tracer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241933804,"owners_count":20044787,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bean","opentracing","spring","spring-boot-autoconfiguration"],"created_at":"2024-11-15T02:14:20.120Z","updated_at":"2026-04-22T05:33:39.265Z","avatar_url":"https://github.com/snowdrop.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# opentracing-tracer\nSpring Boot autoconfiguration for OpenTracing tracer implementations\n\n**WARNING**\n\nThis repo has been deprecated. Please use [this](https://github.com/opentracing-contrib/java-spring-jaeger) module instead\n\n## Usage\n\nDepending on what kind of Spring project is to be instrumented, add of one the following dependencies\n\n* Spring MVC project \n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eme.snowdrop\u003c/groupId\u003e\n    \u003cartifactId\u003eopentracing-tracer-jaeger-spring-web-starter\u003c/artifactId\u003e\n    \u003cversion\u003e0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n\n* Spring Cloud project\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eme.snowdrop\u003c/groupId\u003e\n    \u003cartifactId\u003eopentracing-tracer-jaeger-spring-cloud-starter\u003c/artifactId\u003e\n    \u003cversion\u003e0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nIf for some reason the user plans to include the instrumentation dependencies manually, then the \nfollowing starter can be used to simply include the auto-configuration code and Jaeger dependency\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eme.snowdrop\u003c/groupId\u003e\n    \u003cversion\u003e0.1\u003c/version\u003e\n    \u003cartifactId\u003eopentracing-tracer-jaeger-starter\u003c/artifactId\u003e\n\u003c/dependency\u003e\n``` \n\n## Configuration options\n\nAll the available configuration options can be seen in `me.snowdrop.opentracing.tracer.JaegerConfigurationProperties`.\nThe prefix to be used for these properties is `opentracing.jaeger`.\n\nBeware to use the correct syntax for properties that are camel-case in `JaegerConfigurationProperties`.\n\n* For properties / yaml files use `-`. For example `opentracing.jaeger.log-spans=true`\n* For environment variables use `_`. For example `OPENTRACING_JAEGER_LOG_SPANS` \n\n## Defaults\n\nIf no configuration options are changed and the user does not manually provide any of the beans that the \nauto-configuration process provides, the following defaults are used:\n\n* `spring-boot` Will be used as the service-name\n* A `CompositeReporter` is provided which does not contain any delegates - effectively functioning as a Noop `Reporter`\n* A `ConstSampler` with the value of `true`. This means that every trace will be sampled\n* A `NullStatsReporter` is used - effectively meaning that no stats will be collected about the reporting of traces\n\n## Manual bean provisioning\n\nAny of the following beans can be provided by the application (by adding configuring them as bean with `@Bean` for example)\nand will be used to by the Tracer instead of the auto-configured beans.\n\n* `com.uber.jaeger.samplers.Sampler`  \n* `com.uber.jaeger.metrics.StatsReporter`  \n* `com.uber.jaeger.metrics.Metrics`  \n* `com.uber.jaeger.reporters.Reporter` \n\n## Common cases\n\n### Set service name \n\nSet `opentracing.jaeger.service-name` to the desired name\n\n### Define an HTTP collector\n\nSet `opentracing.jaeger.http-sender.url` to the URL of the Jaeger collector\n\n### Define a UDP collector\n\nSet `opentracing.jaeger.udp-sender.host` to the host of the Jaeger collector\nand `opentracing.jaeger.udp-sender.port` to the end of the Jaeger collector\n\n### Enable logging of spans\n\nSet `opentracing.jaeger.log-spans` to `true`\n\n### Use a probabilistic sampler \n\nSet `opentracing.jaeger.probabilistic-sampler.sampling-rate` to a value between `0.0` (no sampling) and `1.0` (sampling of every request)\n\n### Propagate headers in B3 format (for compatibility with Zipkin collectors)\n\nSet `opentracing.jaeger.enable-b3-propagation` to `true`\n\n## Advanced cases\n\n### com.uber.jaeger.Tracer.Builder customization\n\nBefore creating the `Tracer` it is possible to provide arbitrary customizations to `Tracer.Builder` by providing a bean\nof type `JaegerTracerCustomizer`\n\n### Add custom reporter while maintaining the ability to autoconfigure standard ones with properties\n\nBy supplying a bean of `ReporterAppender` the user can add custom as many custom `Reporter` as needed without\nhaving the forgo the ability to configure the standard reportes via auto-configuration\n\n### Use OpenTracing's TracerResolver\n\nIf the user want's to construct the Tracer using `TracerResolver.resolveTracer` the property `opentracing.jaeger.useTracerResolver`\nneeds to be set to true (in addition of course to `opentracing.jaeger.enable` being set to true)\nIn such a case none of this project's defaults are used and neither are the other configuration properties consulted.\nCheck out the [documentation](https://github.com/jaegertracing/jaeger-client-java/blob/master/jaeger-core/README.md) of TracerResolver\nfor details on what properties need to be set.\nThose properties mentioned in the documentation can be set using any method Spring Boot supports and are not limited\nto System Properties and Environment Variables that TraceResolver supports out of the box\n\n## Caution\n\n### Beware of the default sampler in production\n\nIn a high traffic environment, the default sampler that is configured is very unsafe since it samples every request.\nIt is therefore highly recommended to explicitly configure on of the other options in a production environment\n\n\n## Development\n\n### Executing tests\n\nIn order for all tests to run correctly, the docker daemon need to be running on the system\n\nRun the tests be executing\n\n`mvn clean test` \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowdrop%2Fopentracing-tracer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnowdrop%2Fopentracing-tracer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowdrop%2Fopentracing-tracer/lists"}