Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/component-label-map.yml
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,10 @@ pkg:propagator-aws-xray-lambda:
- changed-files:
- any-glob-to-any-file:
- packages/propagator-aws-xray-lambda/**
pkg:instrumentation-browser-navigation:
- changed-files:
- any-glob-to-any-file:
- packages/instrumentation-browser-navigation/**
pkg-status:unmaintained:
- changed-files:
- any-glob-to-any-file:
Expand Down
4 changes: 3 additions & 1 deletion .github/component_owners.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,9 @@ components:
- obecny
packages/plugin-react-load:
- martinkuba
packages/instrumentation-browser-navigation:
- Abinet18
- martinkuba
packages/propagator-instana:
- kirrg001
packages/propagator-ot-trace: []
Expand All @@ -166,6 +169,5 @@ components:
- jj22ee
packages/propagator-aws-xray-lambda: [ ]
# Unmaintained

ignored-authors:
- renovate-bot
3 changes: 2 additions & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,6 @@
"packages/propagator-instana": "0.4.3",
"packages/propagator-ot-trace": "0.28.3",
"packages/propagator-aws-xray": "2.1.3",
"packages/propagator-aws-xray-lambda": "0.55.3"
"packages/propagator-aws-xray-lambda": "0.55.3",
"packages/instrumentation-browser-navigation": "0.39.0"
}
8 changes: 8 additions & 0 deletions examples/web/examples/document-load/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@
<script type="text/javascript" src="document-load.js"></script>
<br/>
<button id="button1">Test WebTracer with ZoneContextManager - async</button>
<nav>
<a href="document-load/route1" data-link>Route 1</a>
<a href="document-load/route2" data-link>Route 2</a>
</nav>

<div id="content">
<!-- Content will be loaded here -->
</div>

</body>

Expand Down
140 changes: 140 additions & 0 deletions examples/web/examples/navigation/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="utf-8">
<title>Browser Navigation Instrumentation Example</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>
<h1>🧭 Browser Navigation Instrumentation Example</h1>
<p>This example demonstrates the <strong>Browser Navigation Instrumentation</strong> package with enhanced Navigation API support, custom log record data, and comprehensive event tracking.</p>

<div class="info-panel">
<h3>📊 Features Demonstrated:</h3>
<ul>
<li>✅ <strong>Navigation API Support:</strong> Modern browser navigation events</li>
<li>✅ <strong>History API Tracking:</strong> pushState, replaceState, popstate events</li>
<li>✅ <strong>Hash Change Detection:</strong> Fragment navigation tracking</li>
<li>✅ <strong>Custom Log Attributes:</strong> Custom attribute injection</li>
<li>✅ <strong>URL Sanitization:</strong> Automatic credential and sensitive data redaction</li>
<li>✅ <strong>Same-Document Navigation:</strong> SPA-style navigation detection</li>
</ul>
</div>

<script type="text/javascript" src="/navigation.js"></script>
<nav>
<a href="/navigation/route1" data-link>Route 1</a>
<a href="/navigation/route2" data-link>Route 2</a>
<button id="hashChangeBtn">Test Hash Change</button>
<button id="backBtn">Go Back</button>
<button id="navApiHashBtn">Nav API: Hash</button>
</nav>

<div id="content">
<!-- Content will be loaded here -->
</div>

<div id="hash-content">
<!-- Hash content will be displayed here -->
</div>

<div id="nav-api-content">
<!-- Navigation API content will be displayed here -->
</div>

<style>
.nav-result {
margin: 10px 0;
padding: 15px;
border-radius: 8px;
border-left: 4px solid #007acc;
background-color: #f8f9fa;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.nav-result.error {
border-left-color: #dc3545;
background-color: #f8d7da;
}
.nav-result.fallback {
border-left-color: #ffc107;
background-color: #fff3cd;
}
.nav-result h4 {
margin: 0 0 10px 0;
color: #333;
}
.nav-result code {
background-color: #e9ecef;
padding: 2px 6px;
border-radius: 4px;
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
}
.nav-result ul {
margin: 10px 0;
padding-left: 20px;
}
.nav-result li {
margin: 5px 0;
}
.console-note {
font-style: italic;
color: #6c757d;
margin-top: 10px;
}
.info-panel {
margin: 20px 0;
padding: 15px;
background-color: #e8f4fd;
border-radius: 8px;
border-left: 4px solid #007acc;
}
.info-panel h3 {
margin-top: 0;
color: #007acc;
}
.info-panel ul {
margin: 10px 0;
padding-left: 20px;
}
.info-panel li {
margin: 8px 0;
}
nav {
margin: 20px 0;
padding: 15px;
background-color: #f1f3f4;
border-radius: 8px;
}
nav a, nav button {
margin: 5px 10px 5px 0;
padding: 8px 16px;
text-decoration: none;
background-color: #007acc;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 14px;
}
nav a:hover, nav button:hover {
background-color: #005a9e;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
line-height: 1.6;
margin: 20px;
color: #333;
}
h1 {
color: #007acc;
border-bottom: 2px solid #007acc;
padding-bottom: 10px;
}
</style>

</body>

</html>
Loading
Loading