[Question] Why does AspNetCore instrumentation documentation suggests adding custom attributes through Enrich hook instead of directly updating activity in middleware? #1582
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Prepare for a release | |
on: | |
workflow_dispatch: | |
inputs: | |
component: | |
type: choice | |
options: | |
- OpenTelemetry.Exporter.Geneva | |
- OpenTelemetry.Exporter.InfluxDB | |
- OpenTelemetry.Exporter.Instana | |
- OpenTelemetry.Exporter.OneCollector | |
- OpenTelemetry.Exporter.Stackdriver | |
- OpenTelemetry.Extensions | |
- OpenTelemetry.Extensions.AWS | |
- OpenTelemetry.Extensions.Enrichment | |
- OpenTelemetry.Instrumentation.AspNet | |
- OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule | |
- OpenTelemetry.Instrumentation.AspNetCore | |
- OpenTelemetry.Instrumentation.AWS | |
- OpenTelemetry.Instrumentation.AWSLambda | |
- OpenTelemetry.Instrumentation.Cassandra | |
- OpenTelemetry.Instrumentation.ConfluentKafka | |
- OpenTelemetry.Instrumentation.ElasticsearchClient | |
- OpenTelemetry.Instrumentation.EntityFrameworkCore | |
- OpenTelemetry.Instrumentation.EventCounters | |
- OpenTelemetry.Instrumentation.GrpcCore | |
- OpenTelemetry.Instrumentation.GrpcNetClient | |
- OpenTelemetry.Instrumentation.Hangfire | |
- OpenTelemetry.Instrumentation.Http | |
- OpenTelemetry.Instrumentation.MassTransit | |
- OpenTelemetry.Instrumentation.MySqlData | |
- OpenTelemetry.Instrumentation.Owin | |
- OpenTelemetry.Instrumentation.Process | |
- OpenTelemetry.Instrumentation.Quartz | |
- OpenTelemetry.Instrumentation.Runtime | |
- OpenTelemetry.Instrumentation.SqlClient | |
- OpenTelemetry.Instrumentation.StackExchangeRedis | |
- OpenTelemetry.Instrumentation.Wcf | |
- OpenTelemetry.PersistentStorage.Abstractions | |
- OpenTelemetry.PersistentStorage.FileSystem | |
- OpenTelemetry.Resources.AWS | |
- OpenTelemetry.Resources.Azure | |
- OpenTelemetry.Resources.Container | |
- OpenTelemetry.Resources.Gcp | |
- OpenTelemetry.Resources.Host | |
- OpenTelemetry.Resources.OperatingSystem | |
- OpenTelemetry.Resources.Process | |
- OpenTelemetry.Resources.ProcessRuntime | |
- OpenTelemetry.Sampler.AWS | |
- OpenTelemetry.SemanticConventions | |
description: 'Release component' | |
required: true | |
version: | |
type: string | |
description: 'Release version' | |
required: true | |
releaseIssue: | |
type: string | |
description: 'Release request issue' | |
required: false | |
pull_request: | |
types: | |
- closed | |
issues: | |
types: | |
- opened | |
- edited | |
issue_comment: | |
types: | |
- created | |
jobs: | |
automation: | |
uses: ./.github/workflows/automation.yml | |
secrets: inherit | |
prepare-release-pr: | |
runs-on: ubuntu-latest | |
needs: automation | |
if: github.event_name == 'workflow_dispatch' && needs.automation.outputs.enabled | |
env: | |
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
- name: Create GitHub Pull Request to prepare release | |
shell: pwsh | |
run: | | |
Import-Module .\build\scripts\prepare-release.psm1 | |
CreatePullRequestToUpdateChangelogsAndPublicApis ` | |
-gitRepository '${{ github.repository }}' ` | |
-component '${{ inputs.component }}' ` | |
-version '${{ inputs.version }}' ` | |
-requestedByUserName '${{ github.event.sender.login }}' ` | |
-releaseIssue '${{ inputs.releaseIssue }}' ` | |
-targetBranch '${{ github.ref_name }}' ` | |
-gitUserName '${{ needs.automation.outputs.username }}' ` | |
-gitUserEmail '${{ needs.automation.outputs.email }}' | |
lock-pr-and-post-notice-to-create-release-tag: | |
runs-on: ubuntu-latest | |
needs: automation | |
if: | | |
github.event_name == 'pull_request' | |
&& github.event.action == 'closed' | |
&& github.event.pull_request.user.login == needs.automation.outputs.username | |
&& github.event.pull_request.merged == true | |
&& startsWith(github.event.pull_request.title, '[release] Prepare release ') | |
&& needs.automation.outputs.enabled | |
env: | |
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
- name: Lock GitHub Pull Request to prepare release | |
shell: pwsh | |
run: | | |
Import-Module .\build\scripts\prepare-release.psm1 | |
LockPullRequestAndPostNoticeToCreateReleaseTag ` | |
-gitRepository '${{ github.repository }}' ` | |
-pullRequestNumber '${{ github.event.pull_request.number }}' ` | |
-botUserName '${{ needs.automation.outputs.username }}' | |
create-release-tag-unlock-pr-post-notice: | |
runs-on: ubuntu-latest | |
needs: automation | |
if: | | |
github.event_name == 'issue_comment' | |
&& github.event.issue.pull_request | |
&& github.event.issue.locked == true | |
&& github.event.comment.user.login != needs.automation.outputs.username | |
&& contains(github.event.comment.body, '/CreateReleaseTag') | |
&& startsWith(github.event.issue.title, '[release] Prepare release ') | |
&& github.event.issue.pull_request.merged_at | |
&& needs.automation.outputs.enabled | |
env: | |
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
with: | |
# Note: By default GitHub only fetches 1 commit which fails the git tag operation below | |
fetch-depth: 0 | |
token: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
- name: Create release tag | |
id: create-tag | |
shell: pwsh | |
run: | | |
Import-Module .\build\scripts\prepare-release.psm1 | |
CreateReleaseTagAndPostNoticeOnPullRequest ` | |
-gitRepository '${{ github.repository }}' ` | |
-pullRequestNumber '${{ github.event.issue.number }}' ` | |
-botUserName '${{ needs.automation.outputs.username }}' ` | |
-gitUserName '${{ needs.automation.outputs.username }}' ` | |
-gitUserEmail '${{ needs.automation.outputs.email }}' | |
update-changelog-release-dates-on-prepare-pr-post-notice: | |
runs-on: ubuntu-latest | |
needs: automation | |
if: | | |
github.event_name == 'issue_comment' | |
&& github.event.issue.pull_request | |
&& github.event.issue.state == 'open' | |
&& github.event.comment.user.login != needs.automation.outputs.username | |
&& contains(github.event.comment.body, '/UpdateReleaseDates') | |
&& startsWith(github.event.issue.title, '[release] Prepare release ') | |
&& github.event.issue.pull_request.merged_at == null | |
&& needs.automation.outputs.enabled | |
env: | |
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
with: | |
# Note: By default GitHub only fetches 1 commit which fails the git tag operation below | |
fetch-depth: 0 | |
token: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
- name: Update release date | |
id: create-tag | |
shell: pwsh | |
run: | | |
Import-Module .\build\scripts\prepare-release.psm1 | |
UpdateChangelogReleaseDatesAndPostNoticeOnPullRequest ` | |
-gitRepository '${{ github.repository }}' ` | |
-pullRequestNumber '${{ github.event.issue.number }}' ` | |
-botUserName '${{ needs.automation.outputs.username }}' ` | |
-commentUserName '${{ github.event.comment.user.login }}' ` | |
-gitUserName '${{ needs.automation.outputs.username }}' ` | |
-gitUserEmail '${{ needs.automation.outputs.email }}' | |
process-release-request-issue: | |
runs-on: ubuntu-latest | |
needs: automation | |
if: | | |
startsWith(github.event.issue.title, '[release request] ') | |
&& github.event.issue.pull_request == null | |
&& needs.automation.outputs.enabled | |
&& ( | |
(github.event_name == 'issues') | |
|| | |
(github.event_name == 'issue_comment' | |
&& github.event.issue.state == 'open' | |
&& contains(github.event.comment.body, '/PrepareRelease') | |
&& github.event.comment.user.login != needs.automation.outputs.username) | |
) | |
env: | |
GH_TOKEN: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets[needs.automation.outputs.token-secret-name] }} | |
- name: Process release request issue being opened or commented | |
shell: pwsh | |
run: | | |
Import-Module .\build\scripts\prepare-release.psm1 | |
TagCodeOwnersOnOrRunWorkflowForRequestReleaseIssue ` | |
-gitRepository '${{ github.repository }}' ` | |
-targetBranch '${{ github.event.repository.default_branch }}' ` | |
-triggeringEventName '${{ github.event_name }}' ` | |
-approvingGroups '@${{ github.repository_owner }}/dotnet-approvers @${{ github.repository_owner }}/dotnet-maintainers' ` | |
-requestedByUserName '${{ github.event.comment.user.login || github.event.sender.login }}' ` | |
-issueNumber '${{ github.event.issue.number }}' ` | |
-issueBody $env:ISSUE_BODY ` | |
-gitUserName '${{ needs.automation.outputs.username }}' ` | |
-gitUserEmail '${{ needs.automation.outputs.email }}' | |
env: | |
ISSUE_BODY: ${{ github.event.issue.body }} |