Skip to content

Conversation

@lucaspimentel
Copy link
Member

@lucaspimentel lucaspimentel commented Oct 29, 2025

What does this PR do? What is the motivation?

Adds Prerequisites sections and improves cross-referencing across all three Azure App Service documentation pages (Windows Code, Linux Code, and Linux Container).

Changes:

  • Adds Prerequisites sections to all three Azure App Service setup guides
  • Clarifies deployment model differences (extension vs sidecar vs container)
  • Adds cross-references between Windows/Linux Code/Container variants
  • Adds Configuration sections for Linux Container with container-specific notes
  • Adds Additional Resources sections linking to main .NET APM docs
  • Adds warning about not installing MSI on Windows Code (extension-based deployment)
  • Expands .NET instrumentation explanations with links to core concepts

Motivation:
Users landing on Azure App Service docs often don't understand which guide applies to their deployment model (Windows vs Linux, Code vs Container) or how Azure App Service setup differs from standard .NET APM setup. This leads to confusion about whether to use the extension, sidecar, or MSI installer. These changes provide clear prerequisites and better navigation between related deployment options.

Merge instructions

Merge readiness:

  • Ready for merge

For Datadog employees:

Your branch name MUST follow the <name>/<description> convention and include the forward slash (/). Without this format, your pull request will not pass CI, the GitLab pipeline will not run, and you won't get a branch preview. Getting a branch preview makes it easier for us to check any issues with your PR, such as broken links.

If your branch doesn't follow this format, rename it or create a new branch and PR.

[6/5/2025] Merge queue has been disabled on the documentation repo. If you have write access to the repo, the PR has been reviewed by a Documentation team member, and all of the required checks have passed, you can use the Squash and Merge button to merge the PR. If you don't have write access, or you need help, reach out in the #documentation channel in Slack.

Additional notes

This PR complements the decision trees in #32476 and the prerequisites for Lambda (#32477) and Azure Functions (#32478) by completing the serverless documentation improvements for all Azure App Service deployment models.

Copy link
Member Author

lucaspimentel commented Oct 29, 2025

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link
Member Author

@lucaspimentel lucaspimentel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review: Reviewing for style guide compliance, consistency, and completeness across all three Azure App Service documentation pages.

2. **Understand container instrumentation:** This guide instruments a containerized app with a sidecar. For other deployment models, see:
- [Windows Code](/serverless/azure_app_service/windows_code) - Extension-based
- [Linux Code](/serverless/azure_app_service/linux_code) - Sidecar for non-containerized apps
3. **Review container setup basics:** If you're new to Datadog's .NET tracer in containers, see [Tracing .NET Core Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core) for background.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code: The phrase "If you're new to" uses a contraction. Per CONTRIBUTING.md, avoid contractions like "you're" and use more direct, imperative language.

Suggested:

If new to Datadog's .NET tracer in containers, see [Tracing .NET Core Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core) for background.


**Supported runtimes**: Java, Node.js, .NET, PHP, Python

## Prerequisites
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code: This Prerequisites section is .NET-focused but the page supports multiple runtimes (Java, Node.js, PHP, Python per line 16). The prerequisites should either:

  1. Be generic for all runtimes, or
  2. Include runtime-specific subsections

Consider restructuring:

1. **Install the Azure integration:** Install the [Datadog-Azure integration](/integrations/azure/) to collect Azure metrics and logs.
2. **Understand the sidecar approach:** This setup uses a sidecar container pattern. For other deployment models, see [Windows Code](/serverless/azure_app_service/windows_code) or [Linux Container](/serverless/azure_app_service/linux_container).
3. **Review runtime compatibility:** 
   - .NET: [.NET Core Compatibility](/tracing/trace_collection/compatibility/dotnet-core)
   - Java: [Java Compatibility](/tracing/trace_collection/compatibility/java)
   - Node.js: [Node.js Compatibility](/tracing/trace_collection/compatibility/nodejs)
   - Python: [Python Compatibility](/tracing/trace_collection/compatibility/python)


Share the content of the **Log stream** with [Datadog Support][9].

## Additional Resources
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code: The "Additional Resources" section only includes .NET-specific links, but this page supports Java, Node.js, PHP, and Python as well (per line 16). Either:

  1. Add resources for all supported runtimes, or
  2. Move this section under a .NET-specific heading

For a multi-runtime page, consider a structure like:

## Additional Resources

### .NET
- [Tracing .NET Core Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core)
- [.NET Core Library Configuration](/tracing/trace_collection/library_config/dotnet-core/)

### All Runtimes
- [Custom Metrics](/serverless/custom_metrics/)
- [Troubleshooting](/serverless/guide/troubleshoot_serverless_monitoring)


## Prerequisites

1. **Install the Azure integration:** Install the [Datadog-Azure integration](/integrations/azure/) first to correlate APM traces with Azure metrics.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code: Inconsistency in phrasing across the three Azure App Service pages. Compare:

The Windows version adds "first" and has a different explanation. For consistency, use the same wording across all three pages, or clarify why they differ.

Still need help? Contact [Datadog support][5].
## Additional Resources
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code: The Additional Resources section includes both .NET Core and .NET Framework links, but doesn't clarify when to use which. Consider adding brief context:

## Additional Resources

### .NET Core (Isolated Worker Model)
- [Tracing .NET Core Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core)
- [.NET Core Library Configuration](/tracing/trace_collection/library_config/dotnet-core/)

### .NET Framework (In-Process Model)
- [Tracing .NET Framework Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-framework)
- [.NET Framework Library Configuration](/tracing/trace_collection/library_config/dotnet-framework/)

### All .NET Versions
- [.NET Custom Instrumentation](/tracing/trace_collection/custom_instrumentation/dotnet/)
- [.NET Diagnostic Tool](/tracing/troubleshooting/dotnet_diagnostic_tool)

@lucaspimentel lucaspimentel force-pushed the lpimentel/apm-dotnet-azure-functions-prerequisites branch from a83e9de to 8785099 Compare October 29, 2025 21:09
@lucaspimentel lucaspimentel force-pushed the lpimentel/apm-dotnet-azure-app-service-prerequisites branch from fea4b77 to ed84d6e Compare October 29, 2025 21:09
lucaspimentel and others added 2 commits October 29, 2025 22:50
Add Prerequisites sections to all three Azure App Service deployment
variants (Windows Code, Linux Code, Linux Container) to help users
understand requirements and platform-specific differences before setup.

Key additions:
- Prerequisites sections explaining deployment model differences
- Cross-references between the three App Service variants
- Enhanced .NET sections with links to APM and configuration docs
- Configuration sections with platform-specific notes
- Additional Resources sections with troubleshooting links

Windows Code:
- Warning about not installing MSI on App Service
- Links to Azure Functions and Linux variants

Linux Code:
- Enhanced .NET section with environment variable guidance
- Additional Resources section with APM cross-references

Linux Container:
- Prerequisites explaining sidecar vs other approaches
- Configuration section with container-specific notes
- Additional Resources with custom instrumentation links

This improves navigation and helps users understand how each Azure
App Service deployment model differs from standard APM setup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove "you're" contraction in linux_container.md per style guide
- Make linux_code.md prerequisites multi-runtime (add Java, Node.js, Python)
- Restructure linux_code.md Additional Resources for all languages
- Fix inconsistent Azure integration wording in windows_code.md
- Add context to windows_code.md resources (.NET Core vs Framework)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@lucaspimentel lucaspimentel force-pushed the lpimentel/apm-dotnet-azure-app-service-prerequisites branch from ed84d6e to 3e69a6c Compare October 30, 2025 02:54
@lucaspimentel lucaspimentel force-pushed the lpimentel/apm-dotnet-azure-functions-prerequisites branch from 8785099 to a5917ba Compare October 30, 2025 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants