-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.template.html
More file actions
498 lines (487 loc) · 29.2 KB
/
Copy pathindex.template.html
File metadata and controls
498 lines (487 loc) · 29.2 KB
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
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Peermetrics | Open-Source WebRTC Monitoring and Observability</title>
<meta
name="description"
content="Peermetrics is an open-source WebRTC monitoring and observability platform for self-hosted call quality analytics, debugging, and session diagnostics."
/>
<link rel="canonical" href="https://peermetrics.io/" />
<meta name="google" content="notranslate" />
<meta property="og:site_name" content="peermetrics.io" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://peermetrics.io/" />
<meta property="og:title" content="Peermetrics | Open-Source WebRTC Monitoring and Observability" />
<meta
property="og:description"
content="Monitor WebRTC call quality, debug real session issues, and self-host analytics while planning custom integrations for observability, dashboards, and developer workflows."
/>
<meta name="twitter:card" content="summary" />
<meta name="twitter:url" content="https://peermetrics.io/" />
<meta name="twitter:title" content="Peermetrics | Open-Source WebRTC Monitoring and Observability" />
<meta
name="twitter:description"
content="Self-hosted WebRTC monitoring for real-time communication apps with custom integration paths for observability, dashboards, and troubleshooting workflows."
/>
<link rel="apple-touch-icon" sizes="180x180" href="/static/img/favicon/apple-touch-icon.png" />
<link rel="mask-icon" href="/static/img/favicon/safari-pinned-tab.svg" color="#5bbad5" />
<meta name="msapplication-config" content="/static/img/favicon/browserconfig.xml" />
<meta name="msapplication-TileColor" content="#2b5797" />
<link rel="icon" type="image/png" href="/static/img/favicon/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/static/img/favicon/favicon-16x16.png" sizes="16x16" />
<link rel="shortcut icon" href="/static/img/favicon/favicon.ico" />
<meta name="theme-color" content="#ffffff" />
<link href="https://fonts.googleapis.com/css?family=Rubik:300,400,400i,500" rel="stylesheet" />
<link href="/static/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="all" />
<link href="/static/css/main.css" rel="stylesheet" type="text/css" media="all" />
<link href="/static/css/entypo.css" rel="stylesheet" type="text/css" media="all" />
<link href="/static/css/overrides.css" rel="stylesheet" type="text/css" media="all" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/wretch@1.7.1/dist/bundle/wretch.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-S8G5EJHB7R"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-S8G5EJHB7R', {
anonymize_ip: true
});
</script>
<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script>
</head>
<body>
<header class="navbar-container">
<div class="bg-dark navbar-dark" data-sticky="top">
<div class="container">
<nav class="navbar navbar-expand-xl">
<a class="navbar-brand" href="/">
<img class="logo logo-sm" alt="Peermetrics logo" src="/static/img/logo.png" />
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<i class="icon-menu h4"></i>
</button>
<div class="collapse navbar-collapse justify-content-between" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item"><a href="#about" class="nav-link">About</a></li>
<li class="nav-item dropdown">
<a href="javascript:void(0)" class="nav-link dropdown-toggle" id="integrationsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Integrations</a>
<div class="dropdown-menu" aria-labelledby="integrationsDropdown">
<a class="dropdown-item" href="/integrations/livekit.html">LiveKit</a>
<a class="dropdown-item" href="/integrations/mediasoup.html">Mediasoup</a>
<a class="dropdown-item" href="/integrations/janus.html">Janus</a>
<a class="dropdown-item" href="/integrations/vonage.html">Vonage</a>
<a class="dropdown-item" href="/integrations/agora.html">Agora</a>
<a class="dropdown-item" href="/integrations/pion.html">Pion</a>
<a class="dropdown-item" href="/integrations/jitsi.html">Jitsi</a>
</div>
</li>
<li class="nav-item"><a href="#managed-services" class="nav-link">Managed Services</a></li>
<li class="nav-item"><a href="/use-cases.html" class="nav-link">Use Cases</a></li>
<li class="nav-item"><a href="/webrtc-monitoring.html" class="nav-link">WebRTC Monitoring</a></li>
<li class="nav-item"><a href="/faq.html" class="nav-link">FAQ</a></li>
<li class="nav-item"><a href="https://github.com/peermetrics/peermetrics" class="nav-link" target="_blank" rel="noopener noreferrer">Documentation</a></li>
<li class="nav-item"><a href="/demo/" class="nav-link demo-btn">See how it works</a></li>
</ul>
<ul class="navbar-nav">
<li class="nav-item"><a href="#contact">Need Help?</a></li>
</ul>
</div>
</nav>
</div>
</div>
</header>
<main class="main-container">
<section class="space-lg bg-white hero-section">
<div class="container">
<div class="row align-items-center justify-content-around">
<div class="col-12 col-md-6 col-lg-5 text-center text-md-left section-intro hero-copy">
<h1 class="display-3">Open-source WebRTC monitoring your team can self-host and extend</h1>
<span class="lead">
Monitor call quality, inspect packet loss and jitter, and troubleshoot real session failures with a self-hosted analytics stack built for custom observability workflows.
</span>
<div class="mt-3 d-flex flex-column flex-sm-row flex-md-column align-items-center align-items-md-start">
<a target="_blank" rel="noopener noreferrer" href="https://github.com/peermetrics/peermetrics" class="btn btn-success btn-lg mb-2 mb-sm-0 mr-sm-2 mr-md-0" data-ga-cta="hero_github">
Get started on GitHub
</a>
<a href="/?help=I%20need%20help%20with%20my%20WebRTC%20monitoring%20deployment.#contact" class="btn btn-outline-primary btn-lg mt-md-2" data-ga-cta="hero_contact">
Talk to us about deployment and integrations
</a>
</div>
</div>
<div class="col-12 col-md-6 col-lg-6 hero-image-wrap">
<img alt="Peermetrics homepage hero" class="img-fluid w-100" src="/static/img/homepage/main.jpg" />
</div>
</div>
</div>
</section>
<section id="integrations" class="space-lg bg-white">
<div class="container">
<div class="row justify-content-center text-center section-intro">
<div class="col">
<h2 class="display-5">Integrate with your favorite WebRTC SDK</h2>
<div class="row integrations mt-5 justify-content-center text-center">
<div class="col-6 col-md-3 col-lg"><img class="livekit-logo" src="/static/img/homepage/sdk/livekit-replacement.png" alt="LiveKit" /></div>
<div class="col-6 col-md-3 col-lg"><img src="/static/img/homepage/sdk/mediasoup.png" alt="Mediasoup" /></div>
<div class="col-6 col-md-3 col-lg"><img src="/static/img/homepage/sdk/janus.png" alt="Janus" /></div>
<div class="col-6 col-md-3 col-lg"><img src="/static/img/homepage/sdk/vonage.png" alt="Vonage" /></div>
<div class="col-6 col-md-3 col-lg"><img src="/static/img/homepage/sdk/agora.webp" alt="Agora" /></div>
<div class="col-6 col-md-3 col-lg"><img src="/static/img/homepage/sdk/pion.png" alt="Pion" /></div>
<div class="col-6 col-md-3 col-lg"><img src="/static/img/homepage/sdk/jitsi.png" alt="Jitsi" /></div>
</div>
</div>
</div>
</div>
</section>
<section id="how-it-works" class="bg-white">
<div class="container">
<div class="row justify-content-center text-center section-intro">
<div class="col-12 col-md-9 col-lg-8">
<h2 class="display-4">Create rock solid RTC products</h2>
<span class="lead">
Give engineering, support, and operations the session-level evidence they need to understand what happened in every call.
</span>
</div>
</div>
<ul class="feature-list feature-list-lg">
<li class="row justify-content-around align-items-center">
<div class="col-12 col-md-6 col-lg-5">
<img alt="Guess work in product" src="/static/img/homepage/product.jpg" class="img-fluid rounded" />
</div>
<div class="col-12 col-md-6 col-lg-5">
<h5>Replace guesswork with session evidence</h5>
<p>
Building real-time products is already difficult. WebRTC adds network, device, and browser behavior that is hard to reason about from user reports alone.
</p>
<p>
Give your team the session-level evidence they need to improve call quality, isolate regressions, and resolve incidents faster.
</p>
</div>
</li>
<li class="row justify-content-around align-items-center">
<div class="col-12 col-md-6 col-lg-5 order-lg-2">
<img alt="Developer relaxing" src="/static/img/homepage/relax.jpg" class="img-fluid rounded" />
</div>
<div class="col-12 col-md-6 col-lg-5 order-lg-1">
<h5>Spot quality patterns before they become recurring support issues</h5>
<p>
Network conditions, devices, and client behavior change constantly. Monitor the patterns that degrade calls before they become recurring support problems or engineering fire drills.
</p>
</div>
</li>
<li class="row justify-content-around align-items-center">
<div class="col-12 col-md-6 col-lg-5">
<img alt="Happy support team" src="/static/img/homepage/support.jpg" class="img-fluid rounded" />
</div>
<div class="col-12 col-md-6 col-lg-5">
<h5>Help support and engineering work from the same facts</h5>
<p>
Your support team should not have to guess what happened. Share the same call diagnostics across support, engineering, and operations so handoffs stay fast and credible.
</p>
</div>
</li>
</ul>
</div>
</section>
<section id="open-source" class="bg-white">
<div class="container">
<div class="row justify-content-around align-items-center">
<div class="col-12 col-lg-6">
<span class="title-decorative">Open source</span>
<h2 class="display-5">Start with the libraries, grow into the full platform</h2>
<p class="lead text-md-left">
Peermetrics includes lightweight OSS entry points for instrumentation and a full self-hosted stack for ingestion and dashboards.
</p>
<p>
Verified traction: <strong>__NPM_WEEKLY_DOWNLOADS__ npm downloads</strong> for <code>@peermetrics/webrtc-stats</code> during __NPM_WEEKLY_RANGE__.
</p>
<div class="d-flex flex-column flex-sm-row align-items-sm-center flex-wrap">
<a href="https://www.npmjs.com/package/@peermetrics/webrtc-stats" class="btn btn-outline-primary mb-2 mr-sm-2" target="_blank" rel="noopener noreferrer">View webrtc-stats</a>
<a href="https://www.npmjs.com/package/@peermetrics/sdk" class="btn btn-outline-primary mb-2 mr-sm-2" target="_blank" rel="noopener noreferrer">View SDK</a>
<a href="https://github.com/peermetrics/peermetrics" class="btn btn-success mb-2" target="_blank" rel="noopener noreferrer">View full platform</a>
</div>
</div>
<div class="col-12 col-lg-5">
<div class="card pricing card-lg">
<div class="card-body">
<h3 class="h4">Core repos</h3>
<ul class="list-unstyled mb-0">
<li class="mb-3"><strong><a href="https://github.com/peermetrics/webrtc-stats" target="_blank" rel="noopener noreferrer"><code>@peermetrics/webrtc-stats</code></a>:</strong> Raw WebRTC stats collection and parsing.</li>
<li class="mb-3"><strong><a href="https://github.com/peermetrics/sdk-js" target="_blank" rel="noopener noreferrer"><code>@peermetrics/sdk</code></a>:</strong> App-level instrumentation, integrations, and session context.</li>
<li class="mb-3"><strong><a href="https://github.com/peermetrics/api" target="_blank" rel="noopener noreferrer"><code>peermetrics/api</code></a>:</strong> Ingestion and processing pipeline.</li>
<li><strong><a href="https://github.com/peermetrics/web" target="_blank" rel="noopener noreferrer"><code>peermetrics/web</code></a>:</strong> Visualization and dashboard UI.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="learn-more" class="bg-white">
<div class="container">
<div class="row justify-content-center text-center section-intro">
<div class="col-12 col-md-10">
<span class="title-decorative">Learn more</span>
<h2 class="display-5">Answer buying questions and explore deployment paths</h2>
<span class="lead">
Explore the self-hosted platform, practical use cases, and where custom integrations can fit into your existing observability and developer tooling.
</span>
</div>
</div>
<div class="row">
<div class="col-12 col-lg-4 mb-4">
<div class="card pricing card-lg h-100">
<div class="card-body">
<h3 class="h4">What is WebRTC monitoring?</h3>
<p>
A practical guide to WebRTC monitoring, call quality diagnostics, and the session-level evidence teams need when real-time communication apps fail.
</p>
<a href="/webrtc-monitoring.html" class="btn btn-outline-primary">Read the guide</a>
</div>
</div>
</div>
<div class="col-12 col-lg-4 mb-4">
<div class="card pricing card-lg h-100">
<div class="card-body">
<h3 class="h4">Open-source WebRTC monitoring tools</h3>
<p>
Compare how Peermetrics fits teams evaluating self-hosted WebRTC observability, analytics, debugging, and call diagnostics options.
</p>
<a href="/open-source-webrtc-monitoring.html" class="btn btn-outline-primary">Evaluate options</a>
</div>
</div>
</div>
<div class="col-12 col-lg-4 mb-4">
<div class="card pricing card-lg h-100">
<div class="card-body">
<h3 class="h4">WebRTC observability vs analytics</h3>
<p>
Understand when teams need monitoring, aggregate analytics, call diagnostics, or broader observability workflows for production RTC apps.
</p>
<a href="/webrtc-observability-vs-analytics.html" class="btn btn-outline-primary">Compare the terms</a>
</div>
</div>
</div>
<div class="col-12 col-lg-6 mb-4">
<div class="card pricing card-lg h-100">
<div class="card-body">
<h3 class="h4">Peermetrics FAQ</h3>
<p>
Covers self-hosting, what metrics Peermetrics captures, supported SDKs, SIP and WebRTC visibility, and when managed service makes sense.
</p>
<a href="/faq.html" class="btn btn-outline-primary">Read the FAQ</a>
</div>
</div>
</div>
<div class="col-12 col-lg-6 mb-4">
<div class="card pricing card-lg h-100">
<div class="card-body">
<h3 class="h4">WebRTC monitoring use cases</h3>
<p>
Explore concrete deployment stories, including monitoring at scale and telehealth infrastructure that had to grow from hundreds to thousands of concurrent sessions.
</p>
<a href="/use-cases.html" class="btn btn-outline-primary">See use cases</a>
</div>
</div>
</div>
<div class="col-12 col-lg-4 mb-4">
<div class="card pricing card-lg h-100">
<div class="card-body">
<h3 class="h4">OpenTelemetry for WebRTC</h3>
<p>
Explore how Peermetrics can feed RTC quality diagnostics into OpenTelemetry-style pipelines and dashboard ecosystems through custom integration work.
</p>
<a href="/integrations/opentelemetry-webrtc-observability.html" class="btn btn-outline-primary">Explore the OTel path</a>
</div>
</div>
</div>
<div class="col-12 col-lg-4 mb-4">
<div class="card pricing card-lg h-100">
<div class="card-body">
<h3 class="h4">MCP and developer workflows</h3>
<p>
See how RTC diagnostics could be exposed to local developer tooling such as Claude Code, Codex, and Cursor without overpromising built-in support.
</p>
<a href="/integrations/mcp-webrtc-monitoring.html" class="btn btn-outline-primary">See MCP workflow ideas</a>
</div>
</div>
</div>
<div class="col-12 col-lg-4 mb-4">
<div class="card pricing card-lg h-100">
<div class="card-body">
<h3 class="h4">AI-assisted debugging workflows</h3>
<p>
Understand how session-level RTC data can support AI-assisted troubleshooting, summaries, and support-to-engineering handoffs through custom implementation.
</p>
<a href="/agentic-webrtc-metrics.html" class="btn btn-outline-primary">Read the workflow page</a>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="about" class="bg-white">
<div class="container">
<div class="row justify-content-center text-center section-intro">
<div class="col-12 col-md-11">
<span class="title-decorative">Peermetric’s Mission</span>
<h2 class="display-5">Peermetrics is an open-source WebRTC monitoring and observability platform built to help teams monitor call quality, understand failures, and extend that data into the workflows they already use.</h2>
<span class="lead">
Start with WebRTC-specific visibility now, then design the right dashboard, observability, or support workflow around it.
</span>
</div>
</div>
</div>
<article class="container">
<div class="row justify-content-center">
<div class="col-12 col-lg-10 text-center">
<img alt="About Peermetrics" src="/static/img/about/header.jpg" class="figure-image img-fluid rounded" />
</div>
</div>
</article>
</section>
<section id="managed-services">
<div class="container">
<div class="row justify-content-center text-center section-intro">
<div class="col-12 col-md-10">
<span class="title-decorative">Managed Services</span>
<h2 class="display-4 mb-3">Peermetrics Managed Service and Custom Integrations</h2>
<span class="lead">
For scale, large workloads, production environments, or organizations preferring to focus on their core application rather than infrastructure management, <a href="https://webrtc.ventures" target="_blank" rel="noopener noreferrer">WebRTC.ventures</a> offers managed services for your self-hosted Peermetrics deployment.
</span>
</div>
</div>
<div class="row justify-content-center">
<div class="col-12 col-md-10">
<h3 class="display-5">We Offer:</h3>
<ul class="list-unstyled text-left">
<li class="mb-3 lead"><strong>Expert Implementation:</strong> Professional setup and configuration by the team that maintains the Peermetrics codebase, ensuring optimal performance and security.</li>
<li class="mb-3 lead"><strong>Managed Infrastructure:</strong> Complete maintenance services, including monitoring, updates, and scaling management of your self-hosted deployment.</li>
<li class="mb-3 lead"><strong>Enterprise Support:</strong> Dedicated support channels with guaranteed response times and direct access to WebRTC specialists.</li>
<li class="mb-4 lead"><strong>Custom Development:</strong> Direct access to the development team for specialized features, integrations with proprietary systems, and enhanced analytics capabilities.</li>
</ul>
</div>
</div>
<div class="row justify-content-center mt-4">
<div class="col-12 col-md-10">
<div class="card pricing card-lg">
<div class="card-body">
<span class="title-decorative">Custom integrations</span>
<h3 class="display-5">Need Peermetrics connected to your observability or developer tools?</h3>
<p class="lead mb-3">
If your team wants WebRTC diagnostics inside an OpenTelemetry-style pipeline, Grafana or SigNoz dashboards, or local AI-assisted developer workflows, we can help design and build that integration.
</p>
<p>
These workflows are not packaged product features today. They are custom implementation paths for teams that want Peermetrics data connected to the systems they already rely on.
</p>
<div class="d-flex flex-column flex-sm-row align-items-sm-center flex-wrap">
<a href="/?help=I%20need%20help%20with%20a%20custom%20Peermetrics%20integration%20for%20my%20RTC%20product.#contact" class="btn btn-success mb-2 mr-sm-2" data-ga-cta="integrations_contact">Talk to us about a custom integration</a>
<a href="/integrations/opentelemetry-webrtc-observability.html" class="btn btn-outline-primary mb-2 mr-sm-2" data-ga-cta="integrations_otel">OpenTelemetry and dashboards</a>
<a href="/integrations/mcp-webrtc-monitoring.html" class="btn btn-outline-primary mb-2 mr-sm-2" data-ga-cta="integrations_mcp">MCP and developer tools</a>
<a href="/agentic-webrtc-metrics.html" class="btn btn-outline-primary mb-2" data-ga-cta="integrations_ai">AI-assisted workflows</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="contact">
<div class="container">
<div class="row justify-content-center text-center section-intro">
<div class="col-12 col-md-10">
<span class="title-decorative">Need Help?</span>
<h2 class="display-5">Questions about the platform, managed service, or a custom integration path?</h2>
<span class="lead">Reach out to the WebRTC.ventures team for deployment help, observability integrations, or workflow design.</span>
</div>
</div>
<div class="row justify-content-center">
<div class="col-12 col-lg-8">
<div class="card pricing card-lg">
<div class="card-body">
<h5 class="text-center">How Can We Help?</h5>
<div id="hubspot-form"></div>
</div>
</div>
</div>
</div>
<div class="row justify-content-center mt-5">
<div class="col-12 col-lg-8">
<div class="card pricing card-lg">
<div class="card-body">
<h3>Self-host</h3>
<h6>Peermetrics is fully open source.</h6>
<p>
You can start hosting your own instance in 2 simple steps. Check GitHub for setup and deployment details.
</p>
<a href="https://github.com/peermetrics/peermetrics" class="btn btn-lg btn-success" target="_blank" rel="noopener noreferrer" data-ga-cta="self_host_docs">
See the documentation
</a>
</div>
</div>
</div>
</div>
</div>
</section>
</main>
<footer class="footer-short">
<div class="container">
<nav class="row justify-content-between align-items-center">
<div class="col-auto">
<ul class="list-inline">
<li class="list-inline-item">
<a href="/"><img class="logo logo-sm" alt="logo" src="/static/img/logo-icon-gray.png" /></a>
</li>
<li class="list-inline-item"><a href="#about">About</a></li>
<li class="list-inline-item"><a href="#open-source">Open source</a></li>
<li class="list-inline-item"><a href="/use-cases.html">Use Cases</a></li>
<li class="list-inline-item"><a href="/webrtc-monitoring.html">WebRTC Monitoring</a></li>
<li class="list-inline-item"><a href="/open-source-webrtc-monitoring.html">Open Source Guide</a></li>
<li class="list-inline-item"><a href="/webrtc-observability-vs-analytics.html">Observability vs Analytics</a></li>
<li class="list-inline-item"><a href="/integrations/opentelemetry-webrtc-observability.html">OpenTelemetry</a></li>
<li class="list-inline-item"><a href="/integrations/mcp-webrtc-monitoring.html">MCP workflows</a></li>
<li class="list-inline-item"><a href="/faq.html">FAQ</a></li>
<li class="list-inline-item"><a href="#contact">Need Help?</a></li>
<li class="list-inline-item"><a href="#managed-services">Managed Services</a></li>
</ul>
</div>
<div class="col-auto text-sm-right">
<ul class="list-inline">
<li class="list-inline-item"><a href="https://github.com/peermetrics" target="_blank" rel="noopener noreferrer"><img src="/static/img/social/github-gray.svg" height="16" width="16" alt="github" /></a></li>
<li class="list-inline-item"><a href="https://twitter.com/peermetrics" target="_blank" rel="noopener noreferrer"><img src="/static/img/social/twitter-gray.svg" height="16" width="16" alt="twitter" /></a></li>
<li class="list-inline-item"><a href="https://www.linkedin.com/company/peermetrics" target="_blank" rel="noopener noreferrer"><img src="/static/img/social/linkedin-gray.svg" height="16" width="16" alt="linkedin" /></a></li>
</ul>
</div>
</nav>
</div>
</footer>
<script>
window.addEventListener('load', function () {
if (window.hbspt && window.hbspt.forms) {
window.hbspt.forms.create({
portalId: '45353883',
formId: 'd13525b7-7d18-45e7-81f3-b75d03e31acb',
region: 'na1',
target: '#hubspot-form'
});
}
document.querySelectorAll('[data-ga-cta]').forEach(function (element) {
element.addEventListener('click', function () {
if (typeof window.gtag !== 'function') {
return;
}
window.gtag('event', 'cta_click', {
cta_id: element.getAttribute('data-ga-cta'),
cta_text: element.textContent.trim(),
cta_href: element.getAttribute('href') || ''
});
});
});
});
</script>
</body>
</html>