In this blog post
What Makes Java SpecialAgent Different?What Makes Java SpecialAgent Different?Why Does This Matter?Why Does This Matter?How Do I Get Started?How Do I Get Started?How Do I Get Java SpecialAgent for Python/Ruby/My Favorite Language?How Do I Get Java SpecialAgent for Python/Ruby/My Favorite Language?We’re excited to announce Java SpecialAgent!
It’s an extensible OSS Java agent for OpenTracing that enables end-to-end tracing without having to write any code.
With only a single command-line entry for installation, SpecialAgent seamlessly connects to OpenTracing-compliant tracers — such as the Jaeger and Lightstep tracers — allowing you to immediately start observing and propagating distributed tracesdistributed traces.
What Makes Java SpecialAgent Different?
SpecialAgent was built by the OpenTracing community with contributions from the Lightstep team. It is architected for compatibility, resiliency, and stability (you can read more about the architecture on the OpenTracing blogblog, and has a number of benefits:
Automated. By automatically installing plugins, you can achieve end-to-end tracing without having to write any code.
Extensible. SpecialAgent loads the same instrumentation you would load by hand. Adding new instrumentation plugins to SpecialAgent is easy, and anyone can extend the SpecialAgent to include their own plugins.
Portable. Unlike proprietary agents, SpecialAgent can send data to any tracing system that supports OpenTracingOpenTracing.
Robust. Safe and production ready. SpecialAgent can install all OpenTracing Java pluginsJava plugins, and runs on Java versions 1.7 and up.
Seamless. SpecialAgent is able to do both static and dynamic attach, which means you can attach the agent to already-running programs without stopping.
Why Does This Matter?
Distributed traces capture and propagate critical details about transactions as they cross microservices boundaries.
Once you start aggregating and analyzing groups of traces, you can answer important questionsanswer important questions about your system — quickly and with evidence:
Which service should we roll back?
Which host is overloaded?
Which customer is sending bad requests?
Will this optimization improve performance for my service?
What services is my service dependent on?
In order to take advantage of these insights, you first have to install tracers and plugins for every service. For large organizations, manual instrumentation can require some work.
This is where Java SpecialAgent comes into play — it makes instrumentation easy.
How Do I Get Started?
You can get started with Java SpecialAgent on GithubGithub, or Play with LightstepPlay with Lightstep with no signup needed.
How Do I Get Java SpecialAgent for Python/Ruby/My Favorite Language?
We’re partnering with the OSS community to build a version of SpecialAgent for all commonly used frameworks. We’ll be announcing support for other languages and frameworks on TwitterTwitter.
Interested in joining our team? See our open positions herehere.
In this blog post
What Makes Java SpecialAgent Different?What Makes Java SpecialAgent Different?Why Does This Matter?Why Does This Matter?How Do I Get Started?How Do I Get Started?How Do I Get Java SpecialAgent for Python/Ruby/My Favorite Language?How Do I Get Java SpecialAgent for Python/Ruby/My Favorite Language?Explore more articles

Tracing in Angular: How to get started
Forrest Knight | Sep 30, 2019Angular is a very opinionated front end framework that utilizes Typescript. In this article, we add traces in two approaches. The first being more of a drop in, the second a more directed and opinionated approach.
Learn moreLearn more
OpenTracing vs OpenTelemetry: Building a Bridge with OpenTelemetry
Carlos Alberto Cortez | Jun 26, 2019One of the main priorities for the merger is straightforward backwards compatibility with both OpenTracing and OpenCensus, via software bridges. In this post, we’ll discuss the OpenTracing to OpenTelemetry bridge.
Learn moreLearn more
Best Practices for Instrumenting Applications with OpenTracing
Alex Masluk | Jan 30, 2019The biggest risk in the process of getting started with distributed tracing is only doing partial instrumentation. This article discusses how instrumentation is vital to get started with distributed tracing successfully.
Learn moreLearn moreLightstep sounds like a lovely idea
Monitoring and observability for the world’s most reliable systems