Introducing Hypertrace
Tags: cloudnative, kubernetes, contributorswanted, performance
Published: 2021-05-17 12:00:21

[Hypertrace](https://github.com/hypertrace/hypertrace) is a distributed tracing platform which digests distributed traces from different sources, provides deep observability into your microservices, and slice-and-dices your services, endpoints, traces and attributes.

A well loaded definition! And still it doesn't do it justice.
## Microservices
Microservices are trendy these days. But the more microservices, the more the burden of managing, monitoring and debugging them. Microservices can be like a spider web, just waiting to tangle you up in its trap.

|![Monolithic vs Microservices](https://cdn-images-1.medium.com/max/6996/1*kAWXqX663tFvl-JWIcpMlg.png) |
|:--:|
|*Monolithic vs Microservices* <sub>Source: https://devopedia.org/microservices</sub>|

## Distributed Tracing
Distributed Tracing is a way to provide Observability into your services within your microservices architecture.
> Monitoring tells you whether a system is working, observability lets you ask why it isn't working  
> — Baron Schwartz

|![Observability using Distributed Tracing](https://cdn-images-1.medium.com/max/3624/1*gdzvMSWi4NfTQYFi6lNPEw.png) |
|:--:|
|*Observability using Distributed Tracing*|

Distributed Tracing tells a story of what's already happened in your system so you can quickly identify your problem and find a solution.
[Zipkin](https://zipkin.io/) and [Jaeger](https://www.jaegertracing.io/) are currently the two most popular distributed tracing systems.
## Why Hypertrace?
Hypertrace turns distributed traces into Services, APIs and Backends using a custom pluggable architecture. Any custom logic can be plugged to discover business specific entities with simple configuration changes and surfaces the data to be slice-and-diced, instead of constrained by generic tracing platform features. 
Hypertrace supports all standard [instrumentation](https://docs.hypertrace.org/instrumentation/) libraries and agents. If your application is already instrumented with OpenTelemetry, Jaeger or Zipkin, Hypertrace will work out of the box with your application telemetry data. 

In addition, Hypertrace provides:
* A trace enricher which turns traces into a service dependency graph with endpoints, traces and attributes
* Flexibility to carefully examine transactions
* Observability for Services, APIs, and Backends (databases, cloud services, etc.)
* Metrics and Visibility into Services, APIs, and Backends
* Root Cause Analysis
* Identification of Performance Bottlenecks

|![Slicing and Dicing Transactions](https://cdn-images-1.medium.com/max/2400/1*hSQ9fFsM3Wt4mOWCvN5lWg.png) |
|:--:|
|*Slicing and Dicing Transactions* |

|![Distributed Tracing](https://cdn-images-1.medium.com/max/2400/1*E9lOwH4RW0ys7KgX6NxYMg.png) | 
|:--:|
|*Distributed Tracing*|

|![Services, APIs and Backends](https://cdn-images-1.medium.com/max/2400/1*t2dXn8M-TW4K4qx5U7dq1Q.gif) | 
|:--:|
|*Services, APIs and Backends*|

Hypertrace boasts of features like:
* P50, P90, P99 metrics (*Averages can be misleading*)
* Better data visualizations (*Waterfall, Scatter Plot, Area Chart*)
* Wide range of filters, search, sorting, and grouping functionalities
* Automatic discovery of Services, APIs, and Backends

Hypertrace is for you, if you are looking for the following information:
* Traces with duration > 5 seconds
* Traces with status code as 4xx or 5xx ️
* Number of calls made to an API
* APIs within a Service
* Performance of Services, APIs, and Backends

To learn more, visit [Hypertrace docs](https://docs.hypertrace.org/getting-started/) or [Getting Started with Hypertrace](https://docs.hypertrace.org/getting-started/). 
Do check out Hypertrace on [Github](https://github.com/hypertrace/hypertrace) and join Hypertrace community on [Slack](https://bit.ly/hypertrace-community-slack)