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
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,4 @@ logger.LogInformation("Hello World!");
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core/?tab=linux
[3]: /tracing/other_telemetry/connect_logs_and_traces/dotnet/
[4]: /developers/dogstatsd/?tab=dotnet#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=dotnet#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=dotnet#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,5 @@ go get github.com/DataDog/dd-trace-go/contrib/net/http/v2
[2]: https://github.com/DataDog/dd-trace-go?tab=readme-ov-file#installing
[3]: /tracing/other_telemetry/connect_logs_and_traces/go/
[4]: /developers/dogstatsd/?tab=go#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=go#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=go#code-examples-5

Original file line number Diff line number Diff line change
Expand Up @@ -104,5 +104,5 @@ logger.info("Hello World!");
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/java/
[3]: /tracing/other_telemetry/connect_logs_and_traces/java/
[4]: /developers/dogstatsd/?tab=java#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=java#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=java#code-examples-5

Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ const logger = createLogger({
],
});

logger.info(`Hello world!`);
logger.info('Hello world!');
{{< /code-block >}}

For more information, see [Correlating Node.js Logs and Traces][2].
Expand All @@ -93,4 +93,4 @@ logger.info(`Hello world!`);

[1]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/
[2]: /tracing/other_telemetry/connect_logs_and_traces/nodejs/
[3]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=nodejs#code-examples
[3]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=nodejs#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -70,5 +70,5 @@ apk add libgcc
[1]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/php/
[2]: /tracing/other_telemetry/connect_logs_and_traces/php/
[3]: /developers/dogstatsd/?tab=php#install-the-dogstatsd-client
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=php#code-examples
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=php#code-examples-5

Original file line number Diff line number Diff line change
Expand Up @@ -98,4 +98,4 @@ logger.info("Hello world!")
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/python
[3]: /tracing/other_telemetry/connect_logs_and_traces/python/
[4]: /developers/dogstatsd/?tab=python#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=python#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=python#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,4 @@ logger.info "Hello world!"
[1]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/ruby/#instrument-your-application
[2]: /tracing/other_telemetry/connect_logs_and_traces/ruby/
[3]: /developers/dogstatsd/?tab=ruby#install-the-dogstatsd-client
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=ruby#code-examples
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=ruby#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -110,4 +110,4 @@ logger.LogInformation("Hello World!");
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core/?tab=linux
[3]: /tracing/other_telemetry/connect_logs_and_traces/dotnet/
[4]: /developers/dogstatsd/?tab=dotnet#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=dotnet#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=dotnet#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -106,4 +106,4 @@ logrus.WithContext(ctx).Info("Hello World!")
[2]: https://github.com/DataDog/dd-trace-go?tab=readme-ov-file#installing
[3]: /tracing/other_telemetry/connect_logs_and_traces/go/
[4]: /developers/dogstatsd/?tab=go#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=go#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=go#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,4 @@ logger.info("Hello World!");
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/java/
[3]: /tracing/other_telemetry/connect_logs_and_traces/java/
[4]: /developers/dogstatsd/?tab=java#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=java#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=java#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ const logger = createLogger({
],
});

logger.info(`Hello world!`);
logger.info('Hello world!');
{{< /code-block >}}

Datadog recommends setting the environment variables `DD_LOGS_INJECTION=true` (in your main container) and `DD_SOURCE=nodejs` (in your sidecar container) to enable advanced Datadog log parsing.
Expand All @@ -108,4 +108,4 @@ logger.info(`Hello world!`);

[1]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/
[2]: /tracing/other_telemetry/connect_logs_and_traces/nodejs/
[3]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=nodejs#code-examples
[3]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=nodejs#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,4 @@ logInfo('Hello World!');
[1]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/php/
[2]: /tracing/other_telemetry/connect_logs_and_traces/php/
[3]: /developers/dogstatsd/?tab=php#install-the-dogstatsd-client
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=php#code-examples
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=php#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,4 @@ logger.info('Hello world!')
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/python
[3]: /tracing/other_telemetry/connect_logs_and_traces/python/
[4]: /developers/dogstatsd/?tab=python#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=python#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=python#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,4 @@ logger.info "Hello World!"
[1]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/ruby/#instrument-your-application
[2]: /tracing/other_telemetry/connect_logs_and_traces/ruby/
[3]: /developers/dogstatsd/?tab=ruby#install-the-dogstatsd-client
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=ruby#code-examples
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=ruby#code-examples-5
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,4 @@ logger.LogInformation("Hello World!");
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core/?tab=linux
[3]: /tracing/other_telemetry/connect_logs_and_traces/dotnet/
[4]: /developers/dogstatsd/?tab=dotnet#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=dotnet#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=dotnet#code-examples-5
2 changes: 1 addition & 1 deletion content/en/serverless/google_cloud_run/functions/go.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,4 +102,4 @@ logrus.WithContext(ctx).Info("Hello World!")
[2]: https://github.com/DataDog/dd-trace-go?tab=readme-ov-file#installing
[3]: /tracing/other_telemetry/connect_logs_and_traces/go/
[4]: /developers/dogstatsd/?tab=go#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=go#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=go#code-examples-5
2 changes: 1 addition & 1 deletion content/en/serverless/google_cloud_run/functions/java.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,4 @@ logger.info("Hello World!");
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/java/
[3]: /tracing/other_telemetry/connect_logs_and_traces/java/
[4]: /developers/dogstatsd/?tab=java#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=java#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=java#code-examples-5
4 changes: 2 additions & 2 deletions content/en/serverless/google_cloud_run/functions/nodejs.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ const logger = createLogger({
],
});

logger.info(`Hello world!`);
logger.info('Hello world!');
{{< /code-block >}}

Datadog recommends setting the environment variables `DD_LOGS_INJECTION=true` (in your main container) and `DD_SOURCE=nodejs` (in your sidecar container) to enable advanced Datadog log parsing.
Expand All @@ -99,5 +99,5 @@ logger.info(`Hello world!`);

[1]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/nodejs/
[2]: /tracing/other_telemetry/connect_logs_and_traces/nodejs/
[3]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=nodejs#code-examples
[3]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=nodejs#code-examples-5

Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,4 @@ logger.info('Hello world!')
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/python
[3]: /tracing/other_telemetry/connect_logs_and_traces/python/
[4]: /developers/dogstatsd/?tab=python#install-the-dogstatsd-client
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=python#code-examples
[5]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=python#code-examples-5
2 changes: 1 addition & 1 deletion content/en/serverless/google_cloud_run/functions/ruby.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ logger.info "Hello World!"
[1]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/ruby/#instrument-your-application
[2]: /tracing/other_telemetry/connect_logs_and_traces/ruby/
[3]: /developers/dogstatsd/?tab=ruby#install-the-dogstatsd-client
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=ruby#code-examples
[4]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=ruby#code-examples-5
16 changes: 16 additions & 0 deletions content/en/serverless/google_cloud_run/jobs/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Instrumenting Cloud Run Jobs
type: multi-code-lang

---
<div class="alert alert-info">
Cloud Run Jobs is currently in <strong>preview mode</strong>.
</div>

First, set up the [Datadog-Google Cloud Platform integration][1] to collect metrics and logs from Google Cloud services. Remember to add the `cloud asset viewer` role to your service account and enable the Cloud Asset Inventory API in Google Cloud.

Then, select your runtime below for instructions on how to instrument your application:

{{% container-languages path="google_cloud_run/jobs" jobs="true" %}}

[1]: /integrations/google-cloud-platform/
101 changes: 101 additions & 0 deletions content/en/serverless/google_cloud_run/jobs/dotnet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: Instrumenting a .NET Cloud Run Job
code_lang: dotnet
type: multi-code-lang
code_lang_weight: 50
further_reading:
- link: '/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core/?tab=linux'
tag: 'Documentation'
text: 'Tracing .NET Core Applications'
- link: '/tracing/other_telemetry/connect_logs_and_traces/dotnet/'
tag: 'Documentation'
text: 'Correlating .NET Logs and Traces'
---

## Setup

<div class="alert alert-info">A sample application is <a href="https://github.com/DataDog/serverless-gcp-sample-apps/tree/main/cloud-run/in-container/dotnet">available on GitHub</a>.</div>
<div class="alert alert-info">
For full visibility and access to all Datadog features in Cloud Run Jobs,
ensure you’ve <a href="http://localhost:1313/integrations/google_cloud_platform/">installed the Google Cloud integration</a>
and are using <a href="https://hub.docker.com/r/datadog/serverless-init#180">serverless-init version 1.8.0 or later</a>.
</div>

1. **Install the Datadog .NET tracer** in your Dockerfile.

Because GitHub requests are rate limited, you must pass a GitHub token saved in the environment variable `GITHUB_TOKEN` as a [Docker build secret][1] `--secret id=github-token,env=GITHUB_TOKEN`.

{{< tabs >}}
{{% tab "Linux/AMD64" %}}
{{< code-block lang="dockerfile" filename="Dockerfile" disable_copy="false" collapsible="true" >}}
RUN --mount=type=secret,id=github-token,env=GITHUB_TOKEN \
chmod +x /app/dotnet.sh && /app/dotnet.sh
{{< /code-block >}}
{{% /tab %}}

{{% tab "Alpine" %}}
{{< code-block lang="dockerfile" filename="Dockerfile" disable_copy="false" collapsible="true" >}}
# For alpine use datadog-dotnet-apm-2.57.0-musl.tar.gz
ARG TRACER_VERSION
ADD https://github.com/DataDog/dd-trace-dotnet/releases/download/v${TRACER_VERSION}/datadog-dotnet-apm-${TRACER_VERSION}.tar.gz /tmp/datadog-dotnet-apm.tar.gz

RUN mkdir -p /dd_tracer/dotnet/ && tar -xzvf /tmp/datadog-dotnet-apm.tar.gz -C /dd_tracer/dotnet/ && rm /tmp/datadog-dotnet-apm.tar.gz
{{< /code-block >}}
{{% /tab %}}
{{< /tabs >}}

**Note**: Cloud Run Jobs run to completion rather than serving requests, so auto instrumentation won't create a top-level "job" span. For end-to-end visibility, create your own root span. See the [.NET Custom Instrumentation][2] instructions.

For more information, see [Tracing .NET applications][3].

2. **Install serverless-init**.

{{% gcr-install-serverless-init cmd="\"dotnet\", \"dotnet.dll\"" %}}

3. **Set up logs**.

To enable logging, set the environment variable `DD_LOGS_ENABLED=true`. This allows `serverless-init` to read logs from stdout and stderr.

Datadog also recommends setting the environment variables `DD_LOGS_INJECTION=true` and `DD_SOURCE=csharp` to enable advanced Datadog log parsing.

If you want multiline logs to be preserved in a single log message, Datadog recommends writing your logs in JSON format. For example, you can use a third-party logging library such as `Serilog`:

{{< code-block lang="csharp" disable_copy="false" >}}
using Serilog;

builder.Host.UseSerilog((context, config) =>
{
config.WriteTo.Console(new Serilog.Formatting.Json.JsonFormatter(renderMessage: true));
});

logger.LogInformation("Hello World!");
{{< /code-block >}}

For more information, see [Correlating .NET Logs and Traces][4].

4. **Configure your application**.

{{% gcr-configure %}}

5. {{% gcr-service-label %}}

6. **Send custom metrics**.

To send custom metrics, [install the DogStatsD client][5] and [view code examples][6]. In serverless, only the *distribution* metric type is supported.

{{% gcr-env-vars-in-container language="csharp" %}}

## Troubleshooting

{{% gcr-troubleshooting %}}

## Further reading

{{< partial name="whats-next/whats-next.html" >}}

[1]: https://docs.docker.com/build/building/secrets/
[2]: /tracing/trace_collection/custom_instrumentation/dotnet/dd-api#instrument-methods-through-attributes
[3]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core/?tab=linux
[4]: /tracing/other_telemetry/connect_logs_and_traces/dotnet/
[5]: /developers/dogstatsd/?tab=dotnet#install-the-dogstatsd-client
[6]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=dotnet#code-examples-5
96 changes: 96 additions & 0 deletions content/en/serverless/google_cloud_run/jobs/go.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
title: Instrumenting a Go Cloud Run Job
code_lang: go
type: multi-code-lang
code_lang_weight: 30
further_reading:
- link: '/tracing/trace_collection/automatic_instrumentation/dd_libraries/go/'
tag: 'Documentation'
text: 'Tracing Go Applications'
- link: '/tracing/other_telemetry/connect_logs_and_traces/go/'
tag: 'Documentation'
text: 'Correlating Go Logs and Traces'
---

## Setup

<div class="alert alert-info">A sample application is <a href="https://github.com/DataDog/serverless-gcp-sample-apps/tree/main/cloud-run-jobs/go">available on GitHub</a>.</div>
<div class="alert alert-info">
For full visibility and access to all Datadog features in Cloud Run Jobs,
ensure you’ve <a href="http://localhost:1313/integrations/google_cloud_platform/">installed the Google Cloud integration</a>
and are using <a href="https://hub.docker.com/r/datadog/serverless-init#180">serverless-init version 1.8.0 or later</a>.
</div>

1. **Install the Datadog Go tracer**.

1. In your main application, add the tracing library from `dd-trace-go`.

{{< code-block lang="shell" disable_copy="false" >}}
go get github.com/DataDog/dd-trace-go/v2/ddtrace/tracer
{{< /code-block >}}

2. Add the following to your application code to initialize the tracer:
{{< code-block lang="go" disable_copy="false" >}}
tracer.Start()
defer tracer.Stop()
{{< /code-block >}}

You can also add additional packages:
{{< code-block lang="shell" disable_copy="false" >}}
# Enable Profiling
go get github.com/DataDog/dd-trace-go/v2/profiler

# Patch /net/http
go get github.com/DataDog/dd-trace-go/contrib/net/http/v2
{{< /code-block >}}

**Note**: Cloud Run Jobs run to completion rather than serving requests, so auto instrumentation won't create a top-level "job" span. For end-to-end visibility, create your own root span. See the [Go Custom Instrumentation][1] instructions.

For more information, see [Tracing Go Applications][2] and the [Tracer README][3].

2. **Install serverless-init**.

{{% gcr-install-serverless-init cmd="./your-binary" %}}

3. **Set up logs**.

To enable logging, set the environment variable `DD_LOGS_ENABLED=true`. This allows `serverless-init` to read logs from stdout and stderr.

Datadog also recommends setting the environment variable `DD_SOURCE=go` to enable advanced Datadog log parsing.

If you want multiline logs to be preserved in a single log message, Datadog recommends writing your logs in JSON format. For example, you can use a third-party logging library such as `logrus`:
```go
logrus.SetFormatter(&logrus.JSONFormatter{})
logrus.AddHook(&dd_logrus.DDContextLogHook{})

logrus.WithContext(ctx).Info("Hello World!")
```

For more information, see [Correlating Go Logs and Traces][4].

4. **Configure your application**.

{{% gcr-configure%}}

5. {{% gcr-service-label %}}

6. **Send custom metrics**.

To send custom metrics, [install the DogStatsD client][5] and [view code examples][6]. In serverless, only the *distribution* metric type is supported.

{{% gcr-env-vars-in-container language="go" %}}

## Troubleshooting

{{% gcr-troubleshooting %}}

## Further reading

{{< partial name="whats-next/whats-next.html" >}}

[1]: /tracing/trace_collection/custom_instrumentation/go/dd-api#manually-creating-a-span
[2]: /tracing/trace_collection/automatic_instrumentation/dd_libraries/go/
[3]: https://github.com/DataDog/dd-trace-go?tab=readme-ov-file#installing
[4]: /tracing/other_telemetry/connect_logs_and_traces/go/
[5]: /developers/dogstatsd/?tab=go#install-the-dogstatsd-client
[6]: /metrics/custom_metrics/dogstatsd_metrics_submission/?tab=go#code-examples-5
Loading
Loading