Skip to content

Commit 7efeb50

Browse files
authored
Merge branch 'main' into docs-1181-fix-hub-page-links
2 parents 8b3fdbd + eb99856 commit 7efeb50

File tree

29 files changed

+403
-167
lines changed

29 files changed

+403
-167
lines changed

.github/workflows/pr.yml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,88 @@ jobs:
3636
run: yarn install --frozen-lockfile
3737
- name: Build the Docusaurus site
3838
run: yarn build
39+
# --- Disallowed character checks for Pantheon ---
40+
# 1) Fail if any file path in the build output contains disallowed characters
41+
- name: Check build artifact paths for disallowed characters
42+
env:
43+
BUILD_DIR: build
44+
shell: bash
45+
run: |
46+
if [ ! -d "$BUILD_DIR" ]; then
47+
echo "No $BUILD_DIR directory found; skipping path check."
48+
exit 0
49+
fi
50+
# Disallowed chars: " : < > | * ?
51+
OFFENDERS="$(find "$BUILD_DIR" -type f | grep -E '[":<>|*?]')" || true
52+
if [ -n "$OFFENDERS" ]; then
53+
echo "❌ Disallowed characters found in build artifact paths:"
54+
echo "$OFFENDERS"
55+
while IFS= read -r p; do
56+
rel="${p#$(pwd)/}"
57+
[ "$rel" = "$p" ] && rel="$p"
58+
badchars=$(echo "$rel" | grep -oE '[":<>|*?]' | tr -d '\n')
59+
echo "::error file=${rel}::Disallowed character(s) found in build artifact path: [${badchars}] (Pantheon rejects paths containing any of: \" : < > | * ?)"
60+
done <<< "$OFFENDERS"
61+
exit 1
62+
fi
63+
echo "✅ No disallowed characters found in build artifact paths."
64+
# 2) Fail if any Markdown/MDX link target contains disallowed characters (excluding external links).
65+
# Ignores fenced code blocks (```/~~~) and inline code (`...`) to avoid false positives from code samples.
66+
- name: Check Markdown/MDX links for disallowed characters
67+
shell: bash
68+
run: |
69+
FILES="$(git ls-files '*.md' '*.mdx' 2>/dev/null || true)"
70+
if [ -z "$FILES" ]; then
71+
echo "No Markdown/MDX files found; skipping link check."
72+
exit 0
73+
fi
74+
BAD_LINKS=$(
75+
awk '
76+
BEGIN { in_code=0 }
77+
{
78+
raw=$0
79+
80+
# Toggle fenced code blocks starting with ``` or ~~~
81+
if (match(raw, /^\s*(```|~~~)/)) { in_code = !in_code; next }
82+
if (in_code) { next }
83+
84+
# Strip inline code spans so patterns inside don’t trigger
85+
line = raw
86+
gsub(/`[^`]*`/, "", line)
87+
88+
# Find real Markdown links: [text](url)
89+
while (match(line, /\[[^]]+\]\(([^)]+)\)/, m)) {
90+
url=m[1]
91+
92+
# Skip external schemes
93+
if (url ~ /^(https?:|mailto:|tel:)/) { line=substr(line, RSTART+RLENGTH); continue }
94+
95+
# Drop query + fragment
96+
sub(/\?.*$/, "", url)
97+
sub(/#.*/, "", url)
98+
99+
# Disallowed characters in relative link targets: " : < > | * ?
100+
if (url ~ /[":<>|*?]/) {
101+
printf("%s\t%d\t%s\n", FILENAME, FNR, m[0])
102+
}
103+
104+
line=substr(line, RSTART+RLENGTH)
105+
}
106+
}
107+
' $FILES
108+
)
109+
110+
if [ -n "$BAD_LINKS" ]; then
111+
echo "❌ Disallowed characters found in Markdown/MDX link targets:"
112+
echo "$BAD_LINKS"
113+
while IFS=$'\t' read -r file line match; do
114+
[ -z "$file" ] && continue
115+
badchars=$(echo "$match" | grep -oE '[":<>|*?]' | tr -d '\n')
116+
echo "::error file=${file},line=${line}::Disallowed character(s) in Markdown link target: [${badchars}] ${match} (Not allowed: \" : < > | * ?)"
117+
done <<< "$BAD_LINKS"
118+
exit 1
119+
fi
120+
echo "✅ No disallowed characters found in Markdown/MDX link targets."
39121
spellcheck:
40122
runs-on: ubuntu-latest
41123
steps:

blog-collector/2025-09-09-otel.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: Remote Management for OpenTelemetry Collector (OpenTelemetry Collector)
3+
image: https://help.sumologic.com/img/reuse/rss-image.jpg
4+
keywords:
5+
- collection
6+
- opentelemetry
7+
- otel
8+
hide_table_of_contents: true
9+
---
10+
11+
import useBaseUrl from '@docusaurus/useBaseUrl';
12+
13+
We're happy to announce that Sumo Logic now enables you to add the collector timezone for OpenTelemetry collectors through the UI in the OpenTelemetry collector create flow. You can select the timezone of your choice while creating the collector. If you do not make a selection, the timezone will be set to `(UTC) Etc/UTC` by default.
14+
15+
[Learn more](/docs/send-data/opentelemetry-collector/install-collector/linux).

blog-service/2021/12-31.md

Lines changed: 60 additions & 60 deletions
Large diffs are not rendered by default.

blog-service/2025-10-09-search.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: Search Job API - Field Update (Search)
3+
image: https://assets-www.sumologic.com/company-logos/_800x418_crop_center-center_82_none/SumoLogic_Preview_600x600.jpg?mtime=1617040082
4+
keywords:
5+
- query-assist
6+
- search
7+
hide_table_of_contents: true
8+
---
9+
10+
import useBaseUrl from '@docusaurus/useBaseUrl';
11+
12+
We’re excited to announce that the `requiresRawMessages` field for creating a search job will now be set to **false** by default. This change improves the performance of aggregate queries by eliminating the overhead of generating raw messages. [Learn more](/docs/api/search-job/#create-a-search-job)

cid-redirects.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1522,9 +1522,9 @@
15221522
"/Traces/01Getting_Started_with_Transaction_Tracing/Set_up_traces_collection_for_Kubernetes_environments": "/docs/apm/traces/get-started-transaction-tracing/set-up-traces-collection-for-kubernetes-environments",
15231523
"/Traces/01Getting_Started_with_Transaction_Tracing/Set_up_traces_collection_for_other_environments": "/docs/apm/traces/get-started-transaction-tracing/set-up-traces-collection-for-other-environments",
15241524
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation",
1525-
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/.NET_OpenTelemetry_auto-instrumentation": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/net",
1526-
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/.NET_OpenTelemetry_auto-instrumentation/01NET_Core_TraceID_and_SpanID_Injection_into_Logs": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/net/traceid-spanid-injection-into-logs",
1527-
"/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/java",
1525+
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/.NET_OpenTelemetry_auto-instrumentation": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/dotnet",
1526+
"/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/net": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/dotnet",
1527+
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/.NET_OpenTelemetry_auto-instrumentation/01NET_Core_TraceID_and_SpanID_Injection_into_Logs": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/dotnet/traceid-spanid-injection-into-logs",
15281528
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/AWS_Lambda_-_Java_function_instrumentation_with_Sumo_Logic_tracing": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/java",
15291529
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/AWS_Lambda_-_NodeJS_function_instrumentation_with_Sumo_Logic_tracing": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/nodejs",
15301530
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/AWS_Lambda_-_Python_function_instrumentation_with_Sumo_Logic_tracing": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/python",
@@ -1539,7 +1539,7 @@
15391539
"/docs/apm/traces/get-started-transaction-tracing/go": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/go",
15401540
"/docs/apm/traces/get-started-transaction-tracing/java": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/java",
15411541
"/docs/apm/traces/get-started-transaction-tracing/javascript": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/javascript",
1542-
"/docs/apm/traces/get-started-transaction-tracing/net": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/net",
1542+
"/docs/apm/traces/get-started-transaction-tracing/net": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/dotnet",
15431543
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/Python_OpenTelemetry_auto-instrumentation": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/python",
15441544
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/Ruby_on_Rails_OpenTelemetry_auto-instrumentation": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/ruby-on-rails",
15451545
"/Traces/01Getting_Started_with_Transaction_Tracing/01Instrument_your_application_with_OpenTelemetry/Ruby_OpenTelemetry_auto-instrumentation": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/ruby",
@@ -4278,7 +4278,7 @@
42784278
"/Traces/Getting_Started_with_Transaction_Tracing/Set_up_traces_collection_for_other_environments": "/docs/apm/traces/get-started-transaction-tracing/set-up-traces-collection-for-other-environments",
42794279
"/Traces/Getting_Started_with_Transaction_Tracing/Working_with_spans_attributes": "/docs/apm/traces/advanced-configuration/working-with-span-attributes",
42804280
"/Traces/Getting_Started_with_Transaction_Tracing/Instrument_your_application_with_OpenTelemetry": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation",
4281-
"/Traces/Getting_Started_with_Transaction_Tracing/Instrument_your_application_with_OpenTelemetry/.NET_OpenTelemetry_auto-instrumentation": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/net",
4281+
"/Traces/Getting_Started_with_Transaction_Tracing/Instrument_your_application_with_OpenTelemetry/.NET_OpenTelemetry_auto-instrumentation": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/dotnet",
42824282
"/Traces/Getting_Started_with_Transaction_Tracing/Instrument_your_application_with_OpenTelemetry/Java_OpenTelemetry_auto-instrumentation/TraceId_and_SpanId_injection_into_logs_configuration": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/java/traceid-spanid-injection-into-logs-configuration",
42834283
"/Traces/Getting_Started_with_Transaction_Tracing/Instrument_your_application_with_OpenTelemetry/Go_OpenTelemetry_auto-instrumentation": "/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/go",
42844284
"/Traces/Getting_Started_with_Transaction_Tracing/Set_up_traces_collection_for_Kubernetes_environments": "/docs/apm/traces/get-started-transaction-tracing/set-up-traces-collection-for-kubernetes-environments",

docs/api/search-job.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ To create a search job (step 1 in the [process flow](#process-flow)), send a JSO
789789
<td>requiresRawMessages</td>
790790
<td>Boolean</td>
791791
<td>No </td>
792-
<td>Set as <code>false</code> to slightly improve the performance of aggregate queries as raw messages will not be generated. By default, the parameter value is set to <code>true</code>. </td>
792+
<td>By default, the parameter value is set to <code>false</code> to improve the performance of aggregate queries as raw messages will not be generated. </td>
793793
</tr>
794794
</table>
795795

docs/apm/traces/get-started-transaction-tracing/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ Learn how to install and configure OpenTelemetry distributed tracing for AWS Lam
118118
<img src='https://upload.wikimedia.org/wikipedia/commons/c/c3/Python-logo-notext.svg' alt="Thumbnail icon" width="50"/>
119119
<h4><a href={useBaseUrl('/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/python')}>Python</a></h4>
120120
</div>
121+
</div>
122+
<div className="box smallbox card">
123+
<div className="container">
124+
<img src='https://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/.NET_Core_Logo.svg/512px-.NET_Core_Logo.svg.png' alt="Thumbnail icon" width="55"/>
125+
<h4><a href="/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/dotnet">Dotnet</a></h4>
126+
</div>
121127
</div>
122128
</div>
123129

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
---
2+
id: dotnet
3+
title: AWS Lambda - .NET Function Instrumentation
4+
sidebar_label: .NET
5+
description: Learn how to install and configure OpenTelemetry distributed tracing for AWS .NET-based Lambda functions and send data to Sumo Logic.
6+
---
7+
8+
import useBaseUrl from '@docusaurus/useBaseUrl';
9+
import ApmTrace from '../../../../../reuse/apm-traces-layer-order.md';
10+
11+
This document covers how to install and configure OpenTelemetry distributed tracing for AWS Lambda functions based on .NET and send the data to Sumo Logic.
12+
13+
To obtain tracing data from AWS Lambda functions developed in .NET, you can use the following components
14+
15+
### Provided SDK
16+
17+
[OpenTelemetry Lambda SDK for .NET](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.Instrumentation.AWSLambda) includes tracing APIs to instrument Lambda handlers and is provided on [NuGet](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.AWSLambda).
18+
19+
### OpenTelemetry Lambda layer
20+
21+
[OpenTelemetry Lambda Layer for Collector](https://github.com/open-telemetry/opentelemetry-lambda/tree/main/collector#opentelemetry-collector-aws-lambda-extension-layer) includes OpenTelemetry Collector for Lambda components. Apply this layer to your Lambda handler that's already been instrumented with the OpenTelemetry Lambda .NET SDK to enable end-to-end tracing.
22+
23+
#### .NET Lambda layer supports
24+
25+
* .NET 6 SDK or later
26+
* x86_64 and arm64 architectures
27+
28+
### Lambda function requirements
29+
30+
You'll need the following:
31+
32+
* .NET 6 SDK or later
33+
* Lambda layers add permissions
34+
* Sumo Logic OTLP/HTTP Source endpoint URL - To send spans from the instrumented Lambda function to Sumo Logic you need an endpoint URL from an existing or new [OTLP/HTTP source](/docs/send-data/hosted-collectors/http-source/otlp).
35+
36+
## Quick Start
37+
38+
### Overview
39+
40+
<img src={useBaseUrl('img/apm/traces/lambda-dotnet-overview.png')} alt=".NET Lambda Overview" style={{border: '1px solid gray'}} width="800" />
41+
42+
### Prerequisites
43+
44+
* AWS CLI configured with appropriate permissions
45+
* Configure the [AWS credential](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
46+
* .NET 6 SDK
47+
* Sumo Logic OTLP endpoint URL
48+
49+
### Configure the lambda function
50+
51+
Navigate to [functions](https://console.aws.amazon.com/lambda/home#/functions) in the AWS Lambda Console and open the function you want to instrument.
52+
53+
* Navigate to the **Layers** section and click **Add a layer**.
54+
Use the following upstream [collector lambda layer](https://github.com/open-telemetry/opentelemetry-lambda/tree/main?tab=readme-ov-file#latest-layer-versions)
55+
56+
* `arn:aws:lambda:<region>:184161586896:layer:opentelemetry-collector-<amd64|arm64>-<version>:1`
57+
58+
* In the **Choose a layer** menu, select **Specify an ARN** and paste the above ARN ID for your Lambda function
59+
:::note
60+
Lambda layers are a regionalized resource, meaning that they can only be used in the Region in which they are published. Make sure to use the layer in the same region as your Lambda functions.
61+
:::
62+
63+
By default, OpenTelemetry Collector Lambda layer exports telemetry data to AWS backends. To customize the collector configuration, add a collector.yaml to your function and specify its location via the `OPENTELEMETRY_COLLECTOR_CONFIG_URI` environment file.
64+
65+
* Configure the collector layer to send data to SumoLogic:
66+
67+
```yaml
68+
receivers:
69+
otlp:
70+
protocols:
71+
grpc:
72+
endpoint: localhost:4317
73+
http:
74+
endpoint: localhost:4318
75+
76+
exporters:
77+
otlphttp:
78+
endpoint: ${SUMO_LOGIC_OTLP_ENDPOINT}
79+
headers:
80+
Content-Type: application/x-protobuf
81+
encoding: proto
82+
83+
service:
84+
pipelines:
85+
traces:
86+
receivers: [otlp]
87+
exporters: [otlphttp]
88+
```
89+
90+
Once the file has been deployed with a Lambda, configuring the `OPENTELEMETRY_COLLECTOR_CONFIG_URI` will tell the OpenTelemetry extension where to find the collector configuration:
91+
92+
```bash
93+
aws lambda update-function-configuration --function-name Function --environment Variables={OPENTELEMETRY_COLLECTOR_CONFIG_URI=/var/task/collector.yaml}
94+
```
95+
96+
* Configure the following environment variables:
97+
98+
Navigate to the **Configuration > Environment variables** section and ensure that the following environment variables are setup:
99+
100+
| Variable | Value | Purpose |
101+
|:---------|:------|:--------|
102+
| `OTEL_EXPORTER_OTLP_ENDPOINT` | `localhost:4318` | Collector endpoint |
103+
| `OTEL_EXPORTER_OTLP_PROTOCOL` | `http/protobuf` | Export protocol |
104+
| `AWS_LAMBDA_EXEC_WRAPPER` | `/opt/otel-instrument` | Lambda wrapper |
105+
| `SUMO_LOGIC_OTLP_ENDPOINT` | `https://your-endpoint.sumologic.net/receiver/v1/otlp/YOUR_TOKEN` | Sumo Logic endpoint |
106+
| `OPENTELEMETRY_COLLECTOR_CONFIG_URI` | `/var/task/collector.yaml` | Collector configuration |
107+
108+
Any other environment variables like `OTEL_RESOURCE_ATTRIBUTES` or `OTEL_SERVICE_NAME` could also be configured.
109+
110+
Your function should be successfully instrumented. Invoke the function and find your traces in the [Sumo Logic Tracing screen](/docs/apm/traces/view-and-investigate-traces)
111+
112+
## References
113+
114+
* [OpenTelemetry Lambda Layer Documentation](https://github.com/open-telemetry/opentelemetry-lambda)
115+
* [Sumo Logic OTLP Integration](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/)
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
slug: /apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda
3+
title: AWS Lambda Instrumentation
4+
sidebar_label: AWS Lambda
5+
description: Learn how to install and configure OpenTelemetry distributed tracing for AWS Lambda functions and send data to Sumo Logic.
6+
---
7+
8+
import useBaseUrl from '@docusaurus/useBaseUrl';
9+
10+
<img src={useBaseUrl('img/connection-and-integration/aws-lambda.svg')} alt="Thumbnail icon" width="45"/>
11+
12+
In this section, you'll learn how to install and configure OpenTelemetry distributed tracing for AWS Lambda functions written in various programming languages and send that data to Sumo Logic.
13+
14+
<div className="box-wrapper" markdown="1">
15+
<div className="box smallbox card">
16+
<div className="container">
17+
<a href="/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/dotnet"><img src='https://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/.NET_Core_Logo.svg/512px-.NET_Core_Logo.svg.png' alt="Thumbnail icon" width="55"/><h4>.NET</h4></a>
18+
</div>
19+
</div>
20+
<div className="box smallbox card">
21+
<div className="container">
22+
<a href="/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/java"><img src='https://upload.wikimedia.org/wikipedia/en/thumb/3/30/Java_programming_language_logo.svg/131px-Java_programming_language_logo.svg.png' alt="Thumbnail icon" width="30"/><h4>Java</h4></a>
23+
</div>
24+
</div>
25+
<div className="box smallbox card">
26+
<div className="container">
27+
<a href="/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/nodejs"><img src='https://upload.wikimedia.org/wikipedia/commons/d/d9/Node.js_logo.svg' alt="Thumbnail icon" width="95"/><h4>Node.js</h4></a>
28+
</div>
29+
</div>
30+
<div className="box smallbox card">
31+
<div className="container">
32+
<a href="/docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/aws-lambda/python"><img src='https://upload.wikimedia.org/wikipedia/commons/c/c3/Python-logo-notext.svg' alt="Thumbnail icon" width="50"/><h4>Python</h4></a>
33+
</div>
34+
</div>
35+
</div>

0 commit comments

Comments
 (0)