Incendiary¶
Welcome to Incendiary’s Documentation. Incendiary is an extension for Insanic that provides tracing functionality with AWS X-Ray. Since Insanic is a framework for micro services, being able to trace and get a transparent visualization of your system is very important.
Basically, Incendiary wraps aws-xray-sdk
for use with
Insanic.
Background¶
This package’s was created to relieve a issue of observability when architecting a microservice system at my former employer. We needed a way to visualize how each application reacts to a certain request, how handles each request, and to provide insight into any performance inefficiencies.
But why Incendiary? Well, this is a tracing package, and in the military there are tracer rounds. Tracer ammunition is usually loaded in automatic rifles and machine guns with a tracer round for every 3-5 rounds. The purpose of these tracer rounds are help to visualize where the shooter is firing, and adjust for aim. And those tracer rounds have a mild “incendiary” effect ergo, the name for this package.
Features¶
Tracing with AWS X-ray.
Create a segment when Insanic receives a request.
End the segment before returning the response.
Sampling configuration.
Start and end subsegments for interservice requests with Insanic.
Capture other parts of your code.
Good to Know¶
Since this is a tracing implementation, it would be good to know the basics of what is needed for tracing a micro service system.
Also, since Incendiary integrates AWS X-Ray, it would be good to know how AWS X-Ray works.
What about OpenTracing?¶
Although I wanted to develop tracing with a vendor neutral solution (i.e. OpenTracing), at the point in time when this project was in development, OpenTracing was not mature enough and there weren’t any “good” visualization tools available.
I do want Incendiary to be able to support OpenTracing in the future, but the timeline is currently unknown. Unless, you would like to contribute!
API Reference¶
If you are looking for information on a specific function, class or method, this part of the documentation is for you.