-
Notifications
You must be signed in to change notification settings - Fork 57
/
telemetry.html
284 lines (259 loc) · 12.5 KB
/
telemetry.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
---
layout: default
title: Open Source Telemetry Tools for Java, Scala, and Kotlin
description: >-
Add a few lines of code and start collecting metrics, correlating requests, and tracing calls
to databases and external APIs from backend services running on the JVM
load_optimize: false
transparent_heading: true
footer_background: bg-lightest
redirect_from:
- /instrumentation/
custom_css:
- pages/telemetry
- prism
- code
---
<main>
<div class="container-fluid navbar-offset">
<div class="container">
<section class="row bg-white pt-6 pb-0">
<div class="col-12 text-center mt-lg-6">
<img height="32" src="/assets/img/kamon/kamon-telemetry-logo-light.svg" alt="Kamon Telemetry Logo" loading="eager"/>
<h1 class="display-4 mt-4">
Generate metrics and traces
<br class="d-none d-lg-inline">
with minimal code changes
</h1>
<p class="lead my-4">
Add a few lines of code and generate the metrics & traces you
<br class="d-none d-md-inline">
need to troubleshoot production issues in Java, Scala, and Kotlin applications
</p>
<a class="btn btn-cta btn-primary shadow w-100-sm-down mr-3" data-toggle="modal" data-target="#apmOnboardingModal">
Try Kamon Telemetry + APM
</a>
<div class="py-3 text-center text-md-left d-md-inline">
<a class="plain-link" href="/docs/latest/guides/">
Install Kamon Telemetry
</a>
</div>
<img class="img-cover mt-6" style="max-height: 395px;" src="/assets/img/pages/telemetry/kamon-telemetry-showcase.png" alt="Generating Metrics and Traces with Kamon Telemetry" loading="eager"/>
</div>
</section>
</div>
</div>
<div class="container-fluid bg-lightest">
<div class="container">
<section class="row justify-content-center">
<div class="col-12 col-xl-8 text-center">
<div class="text-section-title py-4">Generate Metrics and Traces</div>
<h2>
Instrument your platform from end to end, automatically
</h2>
<p class="text-explainer px-3 px-xl-0 mb-5">
Metrics are great for monitoring. Traces are great for debugging. You need both. Get a ton of insights
out of the box with automatic instrumentation, then enrich them with your own tags and custom metrics
</p>
</div>
<div class="col-12 py-lg-4"></div>
<!-- Automatic Instrumentation -->
<div class="col-12 col-lg-5 mt-5">
<div class="accordion-card my-2">
<span class="text-tag text-tag-green">
Automatic Instrumentation
</span>
<h4 class="mt-4">
Get immediate insights into common libraries and frameworks
</h4>
</div>
<div class="accordion-content text-feature-explainer mt-4">
<p>Understanding how certain frameworks work under the hood can be really challenging, but we already did that for you</p>
<p>Leverage automatic instrumentation to get started, and save your energy for enriching the default integrations</p>
<p>Kamon Telemetry has built-in support for Spring, Play Framework, Akka, and a lot more</p>
<img class="mt-3" style="max-height: 96px;" src="/assets/img/pages/telemetry/featured-integrations.png" alt="Monitor Spring, Play Framework, and Akka Applications with Kamon" loading="eager"/>
</div>
</div>
<div class="col-12 col-lg-7 mt-5">
<img class="accordion-img" src="/assets/img/pages/telemetry/telemetry-status-page-instrumentations.png" alt="Kamon has built-in support for Spring, Akka, Play Framework, and a lot more">
</div>
<div class="col-12 py-3"></div>
<!-- Simple Span Tagging -->
<div class="col-12 col-lg-5 mt-5">
<div class="accordion-card my-2">
<span class="text-tag text-tag-green">
Simple Span Tagging
</span>
<h4 class="mt-4">
Add your own tags to automatic traces
</h4>
</div>
<div class="accordion-content text-feature-explainer mt-4">
<p>Adding tags like appVersion, userId, or request-specific data can help you narrow down issues when investigating</p>
<p>Enrich the automatic instrumentation with your own tags and make it easier to troubleshoot issues later</p>
</div>
</div>
<div class="col-12 col-lg-7 mt-5">
<img class="accordion-img" src="/assets/img/pages/telemetry/telemetry-span-tagging.png" alt="Add tags like requestId and userId to your Spans using Kamon Telemetry">
</div>
<div class="col-12 py-3"></div>
<!-- Manual Instrumentation -->
<div class="col-12 col-lg-5 mt-5">
<div class="accordion-card my-2">
<span class="text-tag text-tag-green">
Manual Instrumentation
</span>
<h4 class="mt-4">
Get full control over the instrumentation, if you want to
</h4>
</div>
<div class="accordion-content text-feature-explainer mt-4">
<p>Want to do everything by hand? You got it</p>
<p>
Kamon separates the core instrumentation libraries from the automatic instrumentation,
so you can use the metrics and tracing APIs alone, and still be able to send data to any vendor
</p>
</div>
</div>
<div class="col-12 col-lg-7 mt-5">
<img class="accordion-img" src="/assets/img/pages/telemetry/telemetry-manual-instrumentation.png" alt="Create Spans programmatically using the Kamon Telemetry tracing APIs">
</div>
<div class="col-12 py-3"></div>
<!-- Custom Metrics -->
<div class="col-12 col-lg-5 mt-5">
<div class="accordion-card my-2">
<span class="text-tag text-tag-green">
Custom Metrics
</span>
<h4 class="mt-4">
Measure the signals and metrics that matter to you
</h4>
</div>
<div class="accordion-content text-feature-explainer mt-4">
<p>Getting latency and error metrics out of the box is nice, but what about the other things you care about?</p>
<p>Create your own metrics and track anything that is important to monitor your application’s health</p>
</div>
</div>
<div class="col-12 col-lg-7 mt-5">
<img class="accordion-img" src="/assets/img/pages/telemetry/telemetry-custom-metrics.png" alt="Create custom metrics using the Kamon Telemetry metrics API">
</div>
</section>
</div>
</div>
<div class="container-fluid bg-white">
<div class="container">
<section class="row justify-content-center">
<div class="col-12 col-xl-9 text-center">
<div class="text-section-title py-4">Correlate Requests</div>
<h2>
Correlate requests across services and logs
</h2>
<p class="text-explainer px-3 px-xl-0">
When your logs are flooded with tons of requests, you need a consistent identifier to
filter the logs and investigate a single request. Correlate requests with log statements, and across
service calls automatically with Kamon
</p>
</div>
<div class="col-12 py-lg-4"></div>
<div class="col-12 col-lg-8 mt-5">
<img class="accordion-img no-shadow" src="/assets/img/pages/telemetry/telemetry-propagation.png" alt="Propagate requestId, traceId and other request data across services and integrated with logs">
</div>
<!-- Context Propagation -->
<div class="col-12 col-lg-6 mt-5">
<div class="accordion-card my-2 px-lg-5">
<span class="text-tag text-tag-green">
Context Propagation
</span>
<h4 class="mt-4">
Propagate request-specific data across services
</h4>
</div>
<div class="accordion-content text-feature-explainer mt-4 px-lg-5">
<p>If you include tags like userId and requestId in your logs, you probably want those tags to propagate across services</p>
<p>Kamon propagates context tags automatically with its own propagation protocol, and is compatible with W3C Trace Context, B3, and Uber-trace-id</p>
</div>
</div>
<!-- Logging Integration -->
<div class="col-12 col-lg-6 mt-5">
<div class="accordion-card my-2 px-lg-5">
<span class="text-tag text-tag-green">
Logging Integration
</span>
<h4 class="mt-4">
Correlated your logs with the right request
</h4>
</div>
<div class="accordion-content text-feature-explainer mt-4 px-lg-5">
<p>When you combine asynchronous actions and jump across threads, correlating requests becomes harder than usual</p>
<p>Ensure that log statements are connected to the right traceId and context, regardless of your threading model</p>
</div>
</div>
</section>
</div>
</div>
<div class="container-fluid bg-lightest">
<div class="container">
<section>
<div class="row justify-content-center">
<div class="col-12 col-md-10 col-lg-8 mb-5">
<img class="img-cover" style="max-height: 600px;" src="/assets/img/pages/telemetry/telemetry-connected-with-apm-and-others.png" alt="Monitor services with Kamon Telemetry and visualize the data in Kamon APM and other tools" loading="eager"/>
</div>
<div class="col-12 col-xl-9 text-center">
<div class="text-section-title py-4">Visualize Anywhere you Want</div>
<h2>
Visualize metrics and traces anywhere you want
</h2>
<p class="text-explainer px-3 px-xl-0">
Getting metrics and traces out of your services is only half the battle. You still need to
send your telemetry data to a tool where you can visualize and analyze it
</p>
</div>
<div class="col-12 py-lg-4"></div>
</div>
<!-- Works awesome with APM -->
<div class="row flex-lg-row-reverse">
<div class="col-12 col-lg-5 mt-5 px-4">
<div class="accordion-card my-2 pr-lg-5">
<span class="text-tag text-tag-green">
Awesome with Kamon APM
</span>
<h4 class="mt-4">
Use the platform designed for Kamon Telemetry
</h4>
</div>
<div class="accordion-content text-feature-explainer mt-4 pr-lg-5">
<p>We created Kamon APM as the perfect tool to visualize the high-fidelity metrics generated with Kamon Telemetry</p>
<p>Don’t waste time setting up your own infrastructure and give Kamon APM a try. You'll thank us later</p>
</div>
</div>
<div class="col-12 col-lg-7 mt-5">
<img class="accordion-img mb-5" src="/assets/img/pages/telemetry/telemetry-works-with-apm.png" alt="Kamon Telemetry works perfectly with Kamon APM">
</div>
</div>
<div class="row">
<div class="col-12 py-lg-4"></div>
</div>
<!-- Compatible with any vendor -->
<div class="row flex-lg-row-reverse">
<div class="col-12 col-lg-5 mt-5 px-4">
<div class="accordion-card my-2 pr-lg-5">
<span class="text-tag text-tag-green">
Vendor Agnostic
</span>
<h4 class="mt-4">
Use any vendor without changing instrumentation
</h4>
</div>
<div class="accordion-content text-feature-explainer mt-4 pr-lg-5">
<p>All Kamon instrumentation is independent from the components that send data to external systems</p>
<p>You can send your data to Prometheus, Zipkin, OpenTelemetry-compatible endpoints, and more without changing the instrumentation</p>
</div>
</div>
<div class="col-12 col-lg-7 mt-5">
<img class="accordion-img mb-5" src="/assets/img/pages/telemetry/telemetry-multiple-reporters.png" alt="Kamon Telemetry can send data to Prometheus, Zipkin, and OpenTelemetry-compatible endpoints">
</div>
</div>
</section>
</div>
</div>
</main>