├── .config
├── 1espt
│ └── PipelineAutobaseliningConfig.yml
├── guardian
│ └── .gdnbaselines
└── tsaoptions.json
├── .devcontainer
├── devcontainer.json
├── glibc
│ └── Dockerfile
├── musl
│ ├── Alpine-DevContainer.md
│ ├── Dockerfile
│ └── devcontainer.json
└── shared
│ ├── scripts
│ └── container-creation.sh
│ └── ytt-linux-amd64.sha
├── .editorconfig
├── .gitattributes
├── .github
├── CODEOWNERS
├── ISSUE_TEMPLATE
│ ├── 01_Bug_Report.md
│ ├── 02_Feature_Request.md
│ ├── 03_Documentation_Request.md
│ ├── 04_Blank_Issue.md
│ └── config.yml
├── actions
│ ├── action-utils.js
│ ├── generate-release-notes
│ │ ├── action.yml
│ │ ├── index.js
│ │ └── releaseNotes.template.md
│ ├── gh-script-utils
│ │ └── create-or-update-ref.js
│ ├── learning-path-staleness-check
│ │ ├── action.yml
│ │ └── index.js
│ ├── open-pr
│ │ └── action.yml
│ ├── update-releases-json
│ │ ├── action.yml
│ │ ├── end_of_support_discussion.template.md
│ │ └── index.js
│ └── update-releases-md
│ │ ├── action.yml
│ │ └── index.js
├── dependabot.template.yml
├── dependabot.yml
├── learning-path-sha.txt
├── linters
│ └── check-markdown-links-config.json
├── policies
│ └── resourceManagement.yml
├── pull_request_template.md
├── releases.json
└── workflows
│ ├── backport.yml
│ ├── check-learning-path-links.yml
│ ├── check-markdown-links.yml
│ ├── cleanup-releases.yml
│ ├── generate-release-notes.yml
│ ├── post-release.yml
│ ├── respond-to-first-issue.yml
│ ├── scan-for-to-do-comments.yml
│ ├── spellcheck.yml
│ ├── submit-to-do-issue.yml
│ ├── sync-branches.yml
│ ├── update-release-version.yml
│ └── verify-dependabot-clearly-defined.yml
├── .gitignore
├── .vscode
├── extensions.json
├── innerloop
│ └── config
│ │ ├── .env
│ │ └── settings.json
├── launch.json
├── settings.json
└── tasks.json
├── Build.cmd
├── CMakeLists.txt
├── CMakeSettings.json
├── CODE-OF-CONDUCT.md
├── CONTRIBUTING.md
├── Directory.Build.props
├── Directory.Packages.props
├── LICENSE.TXT
├── NuGet.config
├── README.md
├── Restore.cmd
├── SECURITY.md
├── Test.cmd
├── build.sh
├── cspell.json
├── documentation
├── README.md
├── api-key-format.md
├── api-key-setup.md
├── api
│ ├── README.md
│ ├── collectionrules-get.md
│ ├── collectionrules-list.md
│ ├── collectionrules.md
│ ├── defaultprocess.md
│ ├── definitions.md
│ ├── dump.md
│ ├── exceptions-custom.md
│ ├── exceptions.md
│ ├── gcdump.md
│ ├── info.md
│ ├── livemetrics-custom.md
│ ├── livemetrics-get.md
│ ├── livemetrics.md
│ ├── logs-custom.md
│ ├── logs-get.md
│ ├── logs.md
│ ├── metrics.md
│ ├── operations-delete.md
│ ├── operations-get.md
│ ├── operations-list.md
│ ├── operations-stop.md
│ ├── operations.md
│ ├── parameters.md
│ ├── pidvsuid.md
│ ├── process-env.md
│ ├── process-get.md
│ ├── processes-list.md
│ ├── processes.md
│ ├── stacks.md
│ ├── trace-custom.md
│ ├── trace-get.md
│ └── trace.md
├── authentication.md
├── building.md
├── collectionrules
│ ├── collectionruleexamples.md
│ ├── collectionrules.md
│ ├── templates.md
│ └── triggershortcuts.md
├── compatibility
│ ├── 7.0
│ │ └── README.md
│ ├── 8.0
│ │ └── README.md
│ ├── 9.0
│ │ └── README.md
│ └── README.md
├── configuration
│ ├── README.md
│ ├── azure-ad-authentication-configuration.md
│ ├── collection-rule-configuration.md
│ ├── configuration-sources.md
│ ├── default-process-configuration.md
│ ├── diagnostic-port-configuration.md
│ ├── egress-configuration.md
│ ├── in-process-features-configuration.md
│ ├── metrics-configuration.md
│ ├── storage-configuration.md
│ └── view-merged-configuration.md
├── dashboardtemplate_19297.json
├── docker-compose.md
├── docker.md
├── egress.md
├── experimental.md
├── kubernetes.md
├── learningPath
│ ├── README.md
│ ├── aks.md
│ ├── api.md
│ ├── architecture.md
│ ├── basic-usage.md
│ ├── collectionrules.md
│ ├── configuration.md
│ ├── egress.md
│ ├── sample-pull-request.md
│ └── testing.md
├── localmachine.md
├── official-build-instructions.md
├── openapi.json
├── openapi.md
├── release-process.md
├── releaseNotes
│ ├── README.md
│ ├── releaseNotes.v5.0.0-preview.6.21370.3.md
│ ├── releaseNotes.v5.0.0-preview.7.21425.3.md
│ ├── releaseNotes.v6.0.0-preview.8.21503.3.md
│ ├── releaseNotes.v6.0.0-rc.1.21518.6.md
│ ├── releaseNotes.v6.0.0.md
│ ├── releaseNotes.v6.0.1.md
│ ├── releaseNotes.v6.0.2.md
│ ├── releaseNotes.v6.1.0.md
│ ├── releaseNotes.v6.1.1.md
│ ├── releaseNotes.v6.1.2.md
│ ├── releaseNotes.v6.1.3.md
│ ├── releaseNotes.v6.1.4.md
│ ├── releaseNotes.v6.2.0.md
│ ├── releaseNotes.v6.2.1.md
│ ├── releaseNotes.v6.2.2.md
│ ├── releaseNotes.v6.3.0.md
│ ├── releaseNotes.v6.3.1.md
│ ├── releaseNotes.v6.3.10.md
│ ├── releaseNotes.v6.3.2.md
│ ├── releaseNotes.v6.3.3.md
│ ├── releaseNotes.v6.3.4.md
│ ├── releaseNotes.v6.3.5.md
│ ├── releaseNotes.v6.3.6.md
│ ├── releaseNotes.v6.3.7.md
│ ├── releaseNotes.v6.3.8.md
│ ├── releaseNotes.v6.3.9.md
│ ├── releaseNotes.v7.0.0-preview.1.22109.7.md
│ ├── releaseNotes.v7.0.0-preview.2.22154.3.md
│ ├── releaseNotes.v7.0.0-preview.3.22204.3.md
│ ├── releaseNotes.v7.0.0-preview.4.22227.4.md
│ ├── releaseNotes.v7.0.0-preview.5.22306.5.md
│ ├── releaseNotes.v7.0.0-preview.6.22330.7.md
│ ├── releaseNotes.v7.0.0-preview.7.22401.1.md
│ ├── releaseNotes.v7.0.0-preview.8.22457.4.md
│ ├── releaseNotes.v7.0.0-rc.1.22479.8.md
│ ├── releaseNotes.v7.0.0.md
│ ├── releaseNotes.v7.0.1.md
│ ├── releaseNotes.v7.0.2.md
│ ├── releaseNotes.v7.1.0.md
│ ├── releaseNotes.v7.1.1.md
│ ├── releaseNotes.v7.1.2.md
│ ├── releaseNotes.v7.1.3.md
│ ├── releaseNotes.v7.2.0.md
│ ├── releaseNotes.v7.2.1.md
│ ├── releaseNotes.v7.2.2.md
│ ├── releaseNotes.v7.2.3.md
│ ├── releaseNotes.v7.3.0.md
│ ├── releaseNotes.v7.3.1.md
│ ├── releaseNotes.v7.3.2.md
│ ├── releaseNotes.v7.3.3.md
│ ├── releaseNotes.v7.3.4.md
│ ├── releaseNotes.v8.0.0-preview.1.23113.9.md
│ ├── releaseNotes.v8.0.0-preview.2.23155.4.md
│ ├── releaseNotes.v8.0.0-preview.3.23180.9.md
│ ├── releaseNotes.v8.0.0-preview.4.23260.4.md
│ ├── releaseNotes.v8.0.0-preview.5.23307.11.md
│ ├── releaseNotes.v8.0.0-preview.6.23354.3.md
│ ├── releaseNotes.v8.0.0-preview.7.23402.4.md
│ ├── releaseNotes.v8.0.0-rc.1.23458.6.md
│ ├── releaseNotes.v8.0.0-rc.2.md
│ ├── releaseNotes.v8.0.0.md
│ ├── releaseNotes.v8.0.1.md
│ ├── releaseNotes.v8.0.2.md
│ ├── releaseNotes.v8.0.3.md
│ ├── releaseNotes.v8.0.4.md
│ ├── releaseNotes.v8.0.5.md
│ ├── releaseNotes.v8.0.6.md
│ ├── releaseNotes.v8.0.7.md
│ ├── releaseNotes.v8.0.8.md
│ ├── releaseNotes.v8.1.0.md
│ ├── releaseNotes.v8.1.1.md
│ ├── releaseNotes.v9.0.0-preview.1.md
│ ├── releaseNotes.v9.0.0-preview.2.md
│ ├── releaseNotes.v9.0.0-preview.3.md
│ ├── releaseNotes.v9.0.0-preview.4.md
│ ├── releaseNotes.v9.0.0-preview.5.md
│ ├── releaseNotes.v9.0.0-preview.6.md
│ ├── releaseNotes.v9.0.0-preview.7.md
│ ├── releaseNotes.v9.0.0-rc.1.md
│ ├── releaseNotes.v9.0.0-rc.2.md
│ ├── releaseNotes.v9.0.0.md
│ ├── releaseNotes.v9.0.1.md
│ ├── releaseNotes.v9.0.2.md
│ ├── releaseNotes.v9.0.3.md
│ ├── releaseNotes.v9.1.0-preview.1.md
│ ├── releaseNotes.v9.1.0-preview.2.md
│ └── releaseNotes.v9.1.0-preview.3.md
├── releases.md
├── schema.json
├── security-considerations.md
├── setup.md
├── troubleshooting.md
└── videos-and-tutorials.md
├── dotnet-monitor.sln
├── dotnet.cmd
├── dotnet.sh
├── eng
├── AfterSolutionBuild.targets
├── Analyzers.props
├── Build-Native.cmd
├── Build.props
├── CodeAnalysis.globalconfig
├── Common.props
├── Directory.Build.props
├── Directory.Build.targets
├── Helix.Common.props
├── Helix.CrossTarget.targets
├── Helix.SingleTarget.targets
├── Helix.props
├── Helix.targets
├── PoliCheckExclusions.xml
├── PublishProjects.targets
├── Publishing.props
├── Signing.props
├── Version.Details.xml
├── Versions.props
├── actions
│ └── backport
│ │ ├── action.yml
│ │ └── index.js
├── branch-vscode-config
├── build.ps1
├── build.sh
├── cibuild.cmd
├── cibuild.sh
├── cipacksignpublish.cmd
├── citest.cmd
├── citest.sh
├── common
│ ├── BuildConfiguration
│ │ └── build-configuration.json
│ ├── CIBuild.cmd
│ ├── PSScriptAnalyzerSettings.psd1
│ ├── README.md
│ ├── SetupNugetSources.ps1
│ ├── SetupNugetSources.sh
│ ├── build.cmd
│ ├── build.ps1
│ ├── build.sh
│ ├── cibuild.sh
│ ├── core-templates
│ │ ├── job
│ │ │ ├── job.yml
│ │ │ ├── onelocbuild.yml
│ │ │ ├── publish-build-assets.yml
│ │ │ ├── source-build.yml
│ │ │ └── source-index-stage1.yml
│ │ ├── jobs
│ │ │ ├── codeql-build.yml
│ │ │ ├── jobs.yml
│ │ │ └── source-build.yml
│ │ ├── post-build
│ │ │ ├── common-variables.yml
│ │ │ ├── post-build.yml
│ │ │ └── setup-maestro-vars.yml
│ │ ├── steps
│ │ │ ├── component-governance.yml
│ │ │ ├── enable-internal-runtimes.yml
│ │ │ ├── enable-internal-sources.yml
│ │ │ ├── generate-sbom.yml
│ │ │ ├── get-delegation-sas.yml
│ │ │ ├── get-federated-access-token.yml
│ │ │ ├── publish-build-artifacts.yml
│ │ │ ├── publish-logs.yml
│ │ │ ├── publish-pipeline-artifacts.yml
│ │ │ ├── retain-build.yml
│ │ │ ├── send-to-helix.yml
│ │ │ └── source-build.yml
│ │ └── variables
│ │ │ └── pool-providers.yml
│ ├── cross
│ │ ├── arm
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ ├── arm64
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ ├── armel
│ │ │ ├── armel.jessie.patch
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ ├── build-android-rootfs.sh
│ │ ├── build-rootfs.sh
│ │ ├── riscv64
│ │ │ └── tizen
│ │ │ │ └── tizen.patch
│ │ ├── tizen-build-rootfs.sh
│ │ ├── tizen-fetch.sh
│ │ ├── toolchain.cmake
│ │ └── x86
│ │ │ └── tizen
│ │ │ └── tizen.patch
│ ├── darc-init.ps1
│ ├── darc-init.sh
│ ├── dotnet-install.cmd
│ ├── dotnet-install.ps1
│ ├── dotnet-install.sh
│ ├── enable-cross-org-publishing.ps1
│ ├── generate-locproject.ps1
│ ├── generate-sbom-prep.ps1
│ ├── generate-sbom-prep.sh
│ ├── helixpublish.proj
│ ├── init-tools-native.cmd
│ ├── init-tools-native.ps1
│ ├── init-tools-native.sh
│ ├── internal-feed-operations.ps1
│ ├── internal-feed-operations.sh
│ ├── internal
│ │ ├── Directory.Build.props
│ │ ├── NuGet.config
│ │ └── Tools.csproj
│ ├── loc
│ │ └── P22DotNetHtmlLocalization.lss
│ ├── msbuild.ps1
│ ├── msbuild.sh
│ ├── native
│ │ ├── CommonLibrary.psm1
│ │ ├── common-library.sh
│ │ ├── init-compiler.sh
│ │ ├── init-distro-rid.sh
│ │ ├── init-os-and-arch.sh
│ │ ├── install-cmake-test.sh
│ │ ├── install-cmake.sh
│ │ └── install-tool.ps1
│ ├── pipeline-logging-functions.ps1
│ ├── pipeline-logging-functions.sh
│ ├── post-build
│ │ ├── check-channel-consistency.ps1
│ │ ├── nuget-validation.ps1
│ │ ├── nuget-verification.ps1
│ │ ├── publish-using-darc.ps1
│ │ ├── redact-logs.ps1
│ │ ├── sourcelink-validation.ps1
│ │ └── symbols-validation.ps1
│ ├── retain-build.ps1
│ ├── sdk-task.ps1
│ ├── sdl
│ │ ├── NuGet.config
│ │ ├── configure-sdl-tool.ps1
│ │ ├── execute-all-sdl-tools.ps1
│ │ ├── extract-artifact-archives.ps1
│ │ ├── extract-artifact-packages.ps1
│ │ ├── init-sdl.ps1
│ │ ├── packages.config
│ │ ├── run-sdl.ps1
│ │ ├── sdl.ps1
│ │ └── trim-assets-version.ps1
│ ├── template-guidance.md
│ ├── templates-official
│ │ ├── job
│ │ │ ├── job.yml
│ │ │ ├── onelocbuild.yml
│ │ │ ├── publish-build-assets.yml
│ │ │ ├── source-build.yml
│ │ │ └── source-index-stage1.yml
│ │ ├── jobs
│ │ │ ├── codeql-build.yml
│ │ │ ├── jobs.yml
│ │ │ └── source-build.yml
│ │ ├── post-build
│ │ │ ├── common-variables.yml
│ │ │ ├── post-build.yml
│ │ │ └── setup-maestro-vars.yml
│ │ ├── steps
│ │ │ ├── component-governance.yml
│ │ │ ├── enable-internal-runtimes.yml
│ │ │ ├── enable-internal-sources.yml
│ │ │ ├── generate-sbom.yml
│ │ │ ├── get-delegation-sas.yml
│ │ │ ├── get-federated-access-token.yml
│ │ │ ├── publish-build-artifacts.yml
│ │ │ ├── publish-logs.yml
│ │ │ ├── publish-pipeline-artifacts.yml
│ │ │ ├── retain-build.yml
│ │ │ ├── send-to-helix.yml
│ │ │ └── source-build.yml
│ │ └── variables
│ │ │ ├── pool-providers.yml
│ │ │ └── sdl-variables.yml
│ ├── templates
│ │ ├── job
│ │ │ ├── job.yml
│ │ │ ├── onelocbuild.yml
│ │ │ ├── publish-build-assets.yml
│ │ │ ├── source-build.yml
│ │ │ └── source-index-stage1.yml
│ │ ├── jobs
│ │ │ ├── codeql-build.yml
│ │ │ ├── jobs.yml
│ │ │ └── source-build.yml
│ │ ├── post-build
│ │ │ ├── common-variables.yml
│ │ │ ├── post-build.yml
│ │ │ └── setup-maestro-vars.yml
│ │ ├── steps
│ │ │ ├── component-governance.yml
│ │ │ ├── enable-internal-runtimes.yml
│ │ │ ├── enable-internal-sources.yml
│ │ │ ├── generate-sbom.yml
│ │ │ ├── get-delegation-sas.yml
│ │ │ ├── get-federated-access-token.yml
│ │ │ ├── publish-build-artifacts.yml
│ │ │ ├── publish-logs.yml
│ │ │ ├── publish-pipeline-artifacts.yml
│ │ │ ├── retain-build.yml
│ │ │ ├── send-to-helix.yml
│ │ │ └── source-build.yml
│ │ └── variables
│ │ │ └── pool-providers.yml
│ ├── tools.ps1
│ └── tools.sh
├── configure-toolset.ps1
├── configure-toolset.sh
├── dependabot
│ ├── Directory.Build.props
│ ├── Versions.props
│ ├── global.json
│ ├── independent
│ │ ├── Directory.Build.props
│ │ ├── Packages.props
│ │ ├── Versions.props
│ │ └── dependabot.csproj
│ ├── net8.0
│ │ ├── Directory.Build.props
│ │ ├── Packages.props
│ │ ├── Versions.props
│ │ └── dependabot.csproj
│ ├── net9.0
│ │ ├── Directory.Build.props
│ │ ├── Packages.props
│ │ ├── Versions.props
│ │ └── dependabot.csproj
│ └── nuget.org
│ │ ├── Directory.Build.props
│ │ ├── NuGet.config
│ │ ├── Packages.props
│ │ ├── Versions.props
│ │ └── dependabot.csproj
├── empty.csproj
├── helix
│ ├── GetNodejsVersion.ps1
│ ├── Helix.proj
│ ├── InstallNodejs.ps1
│ └── payload
│ │ ├── dotnettest.cmd
│ │ ├── dotnettest.sh
│ │ ├── installazurite.cmd
│ │ ├── installazurite.sh
│ │ ├── setupnode.cmd
│ │ └── setupnode.sh
├── native
│ ├── build-commons.sh
│ ├── configurecompiler.cmake
│ ├── configureoptimization.cmake
│ ├── configurepaths.cmake
│ ├── configureplatform.cmake
│ ├── configuretools.cmake
│ ├── functions.cmake
│ ├── gen-buildsys.cmd
│ ├── gen-buildsys.sh
│ ├── generateexportedsymbols.sh
│ ├── generateversionscript.sh
│ ├── genmoduleindex.cmd
│ ├── genmoduleindex.sh
│ ├── ijw
│ │ ├── IJW.cmake
│ │ ├── getRefPackFolderFromArtifacts.ps1
│ │ └── getRefPackFolderFromSdk.ps1
│ ├── init-distro-rid.sh
│ ├── init-os-and-arch.sh
│ ├── init-vs-env.cmd
│ ├── naming.props
│ ├── output-toolchain-info.cmake
│ ├── override
│ │ ├── configurecompiler.cmake
│ │ └── readme.txt
│ ├── sanitizerblacklist.txt
│ ├── set-cmake-path.ps1
│ ├── tryrun.cmake
│ ├── tryrun_ios_tvos.cmake
│ └── version
│ │ ├── NativeVersion.rc
│ │ ├── _version.c
│ │ ├── _version.h
│ │ ├── copy_version_files.cmd
│ │ ├── copy_version_files.sh
│ │ └── runtime_version.h
├── pipelines
│ ├── dotnet-monitor-cg.yml
│ ├── dotnet-monitor-codeql.yml
│ ├── dotnet-monitor-compliance.yml
│ ├── dotnet-monitor-official.yml
│ ├── dotnet-monitor-public.yml
│ ├── dotnet-monitor-publish.yml
│ ├── dotnet-monitor-release.yml
│ ├── jobs
│ │ ├── build-archive.yml
│ │ ├── build-binaries.yml
│ │ ├── build-codeql.yml
│ │ ├── build.yml
│ │ ├── pack-sign-publish.yml
│ │ ├── platform-matrix.yml
│ │ ├── sign-binaries.yml
│ │ ├── test-binaries.yml
│ │ └── tpn.yml
│ ├── scripts
│ │ ├── Copy-ApiScanEligible.ps1
│ │ └── Extract-Assets.ps1
│ ├── stages
│ │ └── preparerelease.yml
│ ├── steps
│ │ ├── publish-build-artifacts.yml
│ │ ├── publish-pipeline-artifact.yml
│ │ └── setup-nuget-sources.yml
│ └── templates
│ │ ├── pipeline-template-1es.yml
│ │ ├── pipeline-template-legacy.yml
│ │ └── pipeline-template.yml
├── release
│ ├── DiagnosticsReleaseTool
│ │ ├── Common
│ │ │ ├── AzureBlobPublisher.cs
│ │ │ ├── BlobLayoutWorker.cs
│ │ │ ├── ChecksumLayoutWorker.cs
│ │ │ ├── FileIgnoreWorker.cs
│ │ │ ├── FileSharePublisher.cs
│ │ │ ├── NugetLayoutWorker.cs
│ │ │ ├── PassThroughLayoutWorker.cs
│ │ │ ├── ReleaseToolHelpers.cs
│ │ │ ├── SkipPublisher.cs
│ │ │ ├── SymbolPackageLayoutWorker.cs
│ │ │ └── ZipLayoutWorker.cs
│ │ ├── Config.cs
│ │ ├── Core
│ │ │ ├── FileMapping.cs
│ │ │ ├── FileMetadata.cs
│ │ │ ├── FileReleaseData.cs
│ │ │ ├── FileWithCdnData.cs
│ │ │ ├── ILayoutWorker.cs
│ │ │ ├── IManifestGenerator.cs
│ │ │ ├── IPublisher.cs
│ │ │ ├── IReleaseVerifier.cs
│ │ │ ├── LayoutWorkerResult.cs
│ │ │ ├── Release.cs
│ │ │ ├── ReleaseMetadata.cs
│ │ │ └── SingleFileResult.cs
│ │ ├── DarcHelpers.cs
│ │ ├── DiagnosticsManifestGenerator.cs
│ │ ├── DiagnosticsReleaseCommandLine.cs
│ │ ├── DiagnosticsReleaseCommandLineUtil.cs
│ │ ├── DiagnosticsReleaseRunner.cs
│ │ ├── DiagnosticsReleaseTool.csproj
│ │ ├── DiagnosticsRepoHelpers.cs
│ │ ├── README.md
│ │ └── logging.json
│ ├── Directory.Build.props
│ ├── Directory.Build.targets
│ ├── Scripts
│ │ ├── AcquireBuild.ps1
│ │ ├── GenerateGithubRelease.ps1
│ │ ├── GetBarId.ps1
│ │ ├── GetBuildVersion.ps1
│ │ ├── GetDarcBuild.ps1
│ │ ├── GetReleaseVersion.ps1
│ │ ├── InstallAzCopy.ps1
│ │ ├── PublishToBlobAccounts.ps1
│ │ ├── PublishToNuget.ps1
│ │ ├── SetTaskVariable.ps1
│ │ └── UpdateShippedBranch.ps1
│ └── tool-list.json
├── set-cmake-path.ps1
└── xunit.runner.json
├── generate-dev-sln.ps1
├── global.json
├── restore.sh
├── samples
├── AKS_Tutorial
│ ├── README.md
│ ├── deploy.yaml
│ ├── egressmap.yaml
│ └── settings.json
├── Docker
│ └── compose.yaml
├── Grafana
│ ├── README.md
│ ├── grafana-import-dashboard-name-folder-id.png
│ └── grafana-import-dashboard.png
└── Kubernetes
│ └── deployment.yaml
├── src
├── Directory.Build.props
├── Directory.Build.targets
├── Extensions
│ ├── AzureBlobStorage
│ │ ├── AzureBlobEgressProvider.AutoFlushStream.cs
│ │ ├── AzureBlobEgressProvider.cs
│ │ ├── AzureBlobEgressProviderOptions.Validate.cs
│ │ ├── AzureBlobEgressProviderOptions.cs
│ │ ├── AzureBlobStorage.csproj
│ │ ├── Constants.cs
│ │ ├── LoggingEventIds.cs
│ │ ├── LoggingExtensions.cs
│ │ ├── OptionsDisplayStrings.Designer.cs
│ │ ├── OptionsDisplayStrings.resx
│ │ ├── PostConfigureAzureBlobEgressProviderOptions.cs
│ │ ├── Program.cs
│ │ ├── Strings.Designer.cs
│ │ ├── Strings.resx
│ │ └── extension.json
│ ├── Directory.Build.props
│ └── S3Storage
│ │ ├── Constants.cs
│ │ ├── IS3Storage.cs
│ │ ├── LoggingEventIds.cs
│ │ ├── LoggingExtensions.cs
│ │ ├── MultiPartUploadStream.cs
│ │ ├── OptionsDisplayStrings.Designer.cs
│ │ ├── OptionsDisplayStrings.resx
│ │ ├── Program.cs
│ │ ├── S3Storage.cs
│ │ ├── S3Storage.csproj
│ │ ├── S3StorageEgressProvider.cs
│ │ ├── S3StorageEgressProviderOptions.Validate.cs
│ │ ├── S3StorageEgressProviderOptions.cs
│ │ ├── Strings.Designer.cs
│ │ ├── Strings.resx
│ │ └── extension.json
├── Microsoft.Diagnostics.Monitoring.Extension.Common
│ ├── EgressArtifactResult.cs
│ ├── EgressArtifactSettings.cs
│ ├── EgressException.cs
│ ├── EgressHelper.cs
│ ├── EgressProperties.cs
│ ├── EgressProvider.cs
│ ├── Microsoft.Diagnostics.Monitoring.Extension.Common.csproj
│ ├── MonitoringException.cs
│ ├── Strings.Designer.cs
│ └── Strings.resx
├── Microsoft.Diagnostics.Monitoring.Options
│ ├── AuthenticationOptions.Validate.cs
│ ├── AuthenticationOptions.cs
│ ├── AzureAdOptions.cs
│ ├── AzureAdOptionsDefaults.cs
│ ├── AzureAdOptionsExtensions.cs
│ ├── CallStacksOptions.cs
│ ├── CallStacksOptionsDefaults.cs
│ ├── CallStacksOptionsExtensions.cs
│ ├── CapturedParameterFormat.cs
│ ├── CollectionRuleFinishedStates.cs
│ ├── CollectionRuleMetadata.cs
│ ├── CollectionRuleState.cs
│ ├── CorsConfigurationOptions.cs
│ ├── DiagnosticPortConnectionMode.cs
│ ├── DiagnosticPortOptions.cs
│ ├── DiagnosticPortOptionsDefaults.cs
│ ├── DiagnosticPortOptionsExtensions.cs
│ ├── DotnetMonitorDebugOptions.cs
│ ├── EgressOptions.cs
│ ├── ExceptionFormat.cs
│ ├── ExceptionsConfiguration.cs
│ ├── ExceptionsDebugOptions.cs
│ ├── ExceptionsDebugOptionsDefaults.cs
│ ├── ExceptionsDebugOptionsExtensions.cs
│ ├── ExceptionsOptions.cs
│ ├── ExceptionsOptionsDefaults.cs
│ ├── ExceptionsOptionsExtensions.cs
│ ├── ExperimentalAttribute.cs
│ ├── FileSystemEgressProviderOptions.cs
│ ├── GlobalCounterOptions.cs
│ ├── GlobalCounterOptionsDefaults.cs
│ ├── IInProcessFeatureOptions.cs
│ ├── IMethodDescription.cs
│ ├── IMonitorCapability.cs
│ ├── InProcessFeaturesOptions.cs
│ ├── InProcessFeaturesOptionsDefaults.cs
│ ├── LogFormat.cs
│ ├── MetricsOptions.cs
│ ├── MetricsOptionsDefaults.cs
│ ├── MetricsOptionsExtensions.cs
│ ├── Microsoft.Diagnostics.Monitoring.Options.csproj
│ ├── MonitorApiKeyOptions.cs
│ ├── MonitorCapability.cs
│ ├── MonitorCapabilityConstants.cs
│ ├── OptionsDisplayStrings.Designer.cs
│ ├── OptionsDisplayStrings.resx
│ ├── ParameterCapturingOptions.cs
│ ├── ParameterCapturingOptionsDefaults.cs
│ ├── ParameterCapturingOptionsExtensions.cs
│ ├── ProcessFilterOptions.cs
│ └── StorageOptions.cs
├── Microsoft.Diagnostics.Monitoring.StartupHook
│ ├── BackgroundService.cs
│ ├── DiagnosticsBootstrapper.cs
│ ├── Eventing
│ │ └── AbstractMonitorEventSource.cs
│ ├── Exceptions
│ │ ├── CurrentAppDomainExceptionProcessor.cs
│ │ ├── CurrentAppDomainFirstChanceExceptionSource.cs
│ │ ├── CurrentAppDomainUnhandledExceptionSource.cs
│ │ ├── Eventing
│ │ │ ├── ExceptionsEventSource.cs
│ │ │ └── ExceptionsEventSourceIdentifierCacheCallback.cs
│ │ ├── ExceptionAvailableEventArgs.cs
│ │ ├── ExceptionSourceBase.cs
│ │ ├── GuardedExceptionSourceBase.cs
│ │ ├── Identification
│ │ │ ├── ExceptionGroupData.cs
│ │ │ ├── ExceptionGroupIdentifier.cs
│ │ │ ├── ExceptionGroupIdentifierCache.cs
│ │ │ ├── ExceptionGroupIdentifierCacheCallback.cs
│ │ │ ├── StackFrameData.cs
│ │ │ └── StackFrameIdentifier.cs
│ │ └── Pipeline
│ │ │ ├── ExceptionPipeline.cs
│ │ │ ├── ExceptionPipelineBuilder.cs
│ │ │ ├── ExceptionPipelineDelegate.cs
│ │ │ ├── ExceptionPipelineExceptionContext.cs
│ │ │ └── Steps
│ │ │ ├── ExceptionDemultiplexerPipelineStep.cs
│ │ │ ├── ExceptionEventsPipelineStep.cs
│ │ │ ├── ExceptionIdSource.cs
│ │ │ ├── FilterMonitorExceptionPipelineStep.cs
│ │ │ ├── FilterRepeatExceptionPipelineStep.cs
│ │ │ └── UnhandledExceptionEventsPipelineStep.cs
│ ├── Microsoft.Diagnostics.Monitoring.StartupHook.csproj
│ ├── MonitorExecutionContextTracker.cs
│ ├── MonitorMessageDispatcher
│ │ ├── IMonitorMessageSource.cs
│ │ ├── MonitorMessageDispatcher.cs
│ │ └── ProfilerMessageSource.cs
│ ├── ParameterCapturing
│ │ ├── Boxing
│ │ │ ├── BoxingInstructions.cs
│ │ │ ├── BoxingTokensSignatureProvider.cs
│ │ │ └── MethodDefinitionExtensions.cs
│ │ ├── DeniedMethodsException.cs
│ │ ├── Eventing
│ │ │ ├── AsyncParameterCapturingEventSource.cs
│ │ │ └── ParameterCapturingEventSource.cs
│ │ ├── FunctionProbes
│ │ │ ├── EventSourceEmittingProbes.cs
│ │ │ ├── FunctionProbesManager.cs
│ │ │ ├── FunctionProbesState.cs
│ │ │ ├── FunctionProbesStub.cs
│ │ │ ├── IFunctionProbes.cs
│ │ │ ├── IFunctionProbesManager.cs
│ │ │ ├── InstrumentedMethod.cs
│ │ │ └── ProfilerAbi.cs
│ │ ├── IMethodDescriptionValidator.cs
│ │ ├── MethodDescriptionValidator.cs
│ │ ├── MethodInfoExtensions.cs
│ │ ├── MethodResolver.cs
│ │ ├── MethodSignature.cs
│ │ ├── ObjectFormatting
│ │ │ ├── Formatters
│ │ │ │ ├── DebuggerDisplay
│ │ │ │ │ ├── DebuggerDisplayFormatter.cs
│ │ │ │ │ ├── DebuggerDisplayParser.cs
│ │ │ │ │ └── ExpressionBinder.cs
│ │ │ │ └── RuntimeFormatters.cs
│ │ │ ├── ObjectFormatter.cs
│ │ │ ├── ObjectFormatterCache.cs
│ │ │ └── ObjectFormatterFactory.cs
│ │ ├── ParameterCapturingService.cs
│ │ ├── ParameterCapturingStrings.Designer.cs
│ │ ├── ParameterCapturingStrings.resx
│ │ ├── ParameterSignature.cs
│ │ ├── Pipeline
│ │ │ ├── CaptureLimitPolicyProbes.cs
│ │ │ ├── IParameterCapturingPipelineCallbacks.cs
│ │ │ ├── ParameterCapturingPipeline.cs
│ │ │ └── TooManyRequestsException.cs
│ │ ├── ResolvedParameterInfo.cs
│ │ ├── TypeUtils.cs
│ │ └── UnresolvedMethodsException.cs
│ ├── ProfilerResolver.cs
│ ├── ProjectsToPublish.props
│ ├── SharedInternals.cs
│ └── StartupHook.cs
├── Microsoft.Diagnostics.Monitoring.WebApi
│ ├── ActionContextExtensions.cs
│ ├── ArtifactMetadataNames.cs
│ ├── AssemblyExtensions.cs
│ ├── Auth
│ │ └── AuthConstants.cs
│ ├── CancellationTokenSourceExtensions.cs
│ ├── CollectionRulePipelineState.cs
│ ├── CommandLineHelper.cs
│ ├── ConfigurationHelper.cs
│ ├── ContentTypeUtilities.cs
│ ├── ContentTypes.cs
│ ├── Controllers
│ │ ├── ControllerExtensions.cs
│ │ ├── DiagController.Metrics.cs
│ │ ├── DiagController.cs
│ │ ├── DiagnosticsControllerBase.cs
│ │ ├── ExceptionsController.cs
│ │ ├── MetricsController.cs
│ │ └── OperationsController.cs
│ ├── DiagProcessFilter.cs
│ ├── DiagnosticServices.cs
│ ├── DumpService.cs
│ ├── EgressOutputConfiguration.cs
│ ├── EgressValidationAttribute.cs
│ ├── EncodingCache.cs
│ ├── EndpointInfo
│ │ ├── IEndpointInfoExtensions.cs
│ │ └── IEndpointInfoSource.cs
│ ├── ExceptionExtensions.cs
│ ├── Exceptions
│ │ ├── ExceptionInstance.cs
│ │ ├── ExceptionsConfigurationSettings.cs
│ │ ├── ExceptionsSettingsFactory.cs
│ │ ├── IExceptionInstance.cs
│ │ ├── IExceptionsNameCache.cs
│ │ └── IExceptionsStore.cs
│ ├── HostRestrictionAttribute.cs
│ ├── HttpContextExtensions.cs
│ ├── IArtifactOperation.cs
│ ├── ICaptureParametersOperationFactory.cs
│ ├── ICollectionRuleService.cs
│ ├── IDiagnosticServices.cs
│ ├── IDumpOperationFactory.cs
│ ├── IDumpService.cs
│ ├── IEgressOutputConfiguration.cs
│ ├── IEgressService.cs
│ ├── IExceptionsOperationFactory.cs
│ ├── IGCDumpOperationFactory.cs
│ ├── IInProcessFeatures.cs
│ ├── ILogsOperationFactory.cs
│ ├── IMetricsOperationFactory.cs
│ ├── IStacksOperationFactory.cs
│ ├── IStartable.cs
│ ├── ITraceOperationFactory.cs
│ ├── KeyValueLogScope.cs
│ ├── KeyValueLogScopeExtensions.cs
│ ├── LoggingExtensions.cs
│ ├── Metrics
│ │ ├── IMetricsPortsProvider.cs
│ │ ├── IMetricsStore.cs
│ │ ├── JsonCounterLogger.cs
│ │ ├── MetricsLogger.cs
│ │ ├── MetricsService.cs
│ │ ├── MetricsSettingsFactory.cs
│ │ ├── MetricsStore.cs
│ │ ├── MetricsStoreService.cs
│ │ ├── PrometheusDataModel.cs
│ │ └── StreamingCounterLogger.cs
│ ├── Microsoft.Diagnostics.Monitoring.WebApi.csproj
│ ├── Models
│ │ ├── Activity.cs
│ │ ├── CallStackResults.cs
│ │ ├── CaptureParametersConfiguration.cs
│ │ ├── CapturedParametersResults.cs
│ │ ├── CollectionRuleDescription.cs
│ │ ├── CollectionRuleDetailedDescription.cs
│ │ ├── DotnetMonitorInfo.cs
│ │ ├── DumpType.cs
│ │ ├── EgressOperationStatus.cs
│ │ ├── EventMetricsConfiguration.cs
│ │ ├── EventPipeConfiguration.cs
│ │ ├── EventPipeProvider.cs
│ │ ├── ExceptionInstance.cs
│ │ ├── LogsConfiguration.cs
│ │ ├── MethodDescription.cs
│ │ ├── ProcessIdentifier.cs
│ │ ├── ProcessInfo.cs
│ │ ├── SpeedScopeStackResults.cs
│ │ └── TraceProfile.cs
│ ├── Operation
│ │ ├── EgressOperation.cs
│ │ ├── EgressOperationQueue.cs
│ │ ├── EgressOperationService.cs
│ │ ├── EgressOperationStore.cs
│ │ ├── EgressProcessInfo.cs
│ │ ├── EgressRequest.cs
│ │ ├── EgressResult.cs
│ │ ├── HttpResponseEgressOperation.cs
│ │ ├── IEgressOperation.cs
│ │ ├── IEgressOperationQueue.cs
│ │ ├── IEgressOperationStore.cs
│ │ ├── OperationExtensions.cs
│ │ └── TooManyRequestsException.cs
│ ├── OperationTrackerService.cs
│ ├── OutputStreamResult.cs
│ ├── ParameterCapturing
│ │ ├── CapturedParametersFormatter.cs
│ │ ├── CapturedParametersJsonFormatter.cs
│ │ ├── CapturedParametersTextFormatter.cs
│ │ ├── ICapturedParameters.cs
│ │ └── ParameterInfo.cs
│ ├── ProcessInfoImpl.cs
│ ├── ProcessKey.cs
│ ├── ProducesWithProblemDetailsAttribute.cs
│ ├── ProfilerChannel.cs
│ ├── ProfilerMessage.cs
│ ├── RequestThrottling
│ │ ├── IRequestLimitTracker.cs
│ │ ├── RequestLimit.cs
│ │ └── RequestLimitTracker.cs
│ ├── ScopeState.cs
│ ├── Stacks
│ │ ├── CallStackData.cs
│ │ ├── CallStackEvents.cs
│ │ ├── EventStacksPipeline.cs
│ │ ├── JsonStacksFormatter.cs
│ │ ├── NameCache.cs
│ │ ├── NameFormatter.cs
│ │ ├── NameIdentificationEvents.cs
│ │ ├── SpeedScopeStacksFormatter.cs
│ │ ├── StacksFormatter.cs
│ │ └── TextStacksFormatter.cs
│ ├── StreamDefaults.cs
│ ├── StreamLeaveOpenWrapper.cs
│ ├── StreamingLogger.cs
│ ├── Strings.Designer.cs
│ ├── Strings.resx
│ ├── TaskCompletionSourceExtensions.cs
│ ├── TaskExtensions.cs
│ ├── Utilities
│ │ ├── StackUtilities.cs
│ │ ├── TraceEventExtensions.cs
│ │ ├── TraceUtilities.cs
│ │ └── Utilities.cs
│ └── Validation
│ │ ├── CounterValidator.cs
│ │ └── IntegerOrHexStringAttribute.cs
├── Profilers
│ ├── CMakeLists.txt
│ ├── CommonMonitorProfiler
│ │ ├── CMakeLists.txt
│ │ ├── CommonUtilities
│ │ │ ├── BlockingQueue.h
│ │ │ ├── ClrData.h
│ │ │ ├── MetadataEnumCloser.h
│ │ │ ├── NameCache.cpp
│ │ │ ├── NameCache.h
│ │ │ ├── PairHash.h
│ │ │ ├── StringUtilities.h
│ │ │ ├── ThreadNameCache.cpp
│ │ │ ├── ThreadNameCache.h
│ │ │ ├── ThreadUtilities.cpp
│ │ │ ├── ThreadUtilities.h
│ │ │ ├── TypeNameUtilities.cpp
│ │ │ └── TypeNameUtilities.h
│ │ ├── Environment
│ │ │ ├── Environment.h
│ │ │ ├── EnvironmentHelper.cpp
│ │ │ ├── EnvironmentHelper.h
│ │ │ ├── ProfilerEnvironment.cpp
│ │ │ └── ProfilerEnvironment.h
│ │ ├── EventProvider
│ │ │ ├── EventTypeMapping.h
│ │ │ ├── ProfilerEvent.h
│ │ │ ├── ProfilerEventProvider.cpp
│ │ │ └── ProfilerEventProvider.h
│ │ ├── Logging
│ │ │ ├── AggregateLogger.cpp
│ │ │ ├── AggregateLogger.h
│ │ │ ├── DebugLogger.cpp
│ │ │ ├── DebugLogger.h
│ │ │ ├── LogLevelHelper.h
│ │ │ ├── Logger.cpp
│ │ │ ├── Logger.h
│ │ │ ├── LoggerFactory.h
│ │ │ ├── LoggerHelper.cpp
│ │ │ ├── LoggerHelper.h
│ │ │ ├── NullLogger.cpp
│ │ │ ├── NullLogger.h
│ │ │ ├── StdErrLogger.cpp
│ │ │ └── StdErrLogger.h
│ │ ├── ProfilerBase.cpp
│ │ └── ProfilerBase.h
│ ├── MonitorProfiler
│ │ ├── CMakeLists.txt
│ │ ├── ClassFactory.cpp
│ │ ├── ClassFactory.h
│ │ ├── Communication
│ │ │ ├── CommandServer.cpp
│ │ │ ├── CommandServer.h
│ │ │ ├── IpcCommClient.cpp
│ │ │ ├── IpcCommClient.h
│ │ │ ├── IpcCommServer.cpp
│ │ │ ├── IpcCommServer.h
│ │ │ ├── MessageCallbackManager.cpp
│ │ │ ├── MessageCallbackManager.h
│ │ │ ├── Messages.h
│ │ │ └── SocketWrapper.h
│ │ ├── DllMain.cpp
│ │ ├── MainProfiler
│ │ │ ├── ExceptionTracker.cpp
│ │ │ ├── ExceptionTracker.h
│ │ │ ├── MainProfiler.cpp
│ │ │ ├── MainProfiler.h
│ │ │ ├── ThreadData.cpp
│ │ │ ├── ThreadData.h
│ │ │ ├── ThreadDataManager.cpp
│ │ │ └── ThreadDataManager.h
│ │ ├── MonitorProfiler.def
│ │ └── Stacks
│ │ │ ├── Stack.h
│ │ │ ├── StackSampler.cpp
│ │ │ ├── StackSampler.h
│ │ │ ├── StacksEventProvider.cpp
│ │ │ └── StacksEventProvider.h
│ └── MutatingMonitorProfiler
│ │ ├── CMakeLists.txt
│ │ ├── ClassFactory.cpp
│ │ ├── ClassFactory.h
│ │ ├── DllMain.cpp
│ │ ├── MutatingMonitorProfiler.cpp
│ │ ├── MutatingMonitorProfiler.def
│ │ ├── MutatingMonitorProfiler.h
│ │ ├── ProbeInstrumentation
│ │ ├── AssemblyProbePrep.cpp
│ │ ├── AssemblyProbePrep.h
│ │ ├── CallbackDefinitions.h
│ │ ├── ProbeInjector.cpp
│ │ ├── ProbeInjector.h
│ │ ├── ProbeInstrumentation.cpp
│ │ └── ProbeInstrumentation.h
│ │ └── Utilities
│ │ ├── ILRewriter.cpp
│ │ └── ILRewriter.h
├── Tests
│ ├── CollectionRuleActions.UnitTests
│ │ ├── ActionListExecutorTests.cs
│ │ ├── CollectDumpActionTests.cs
│ │ ├── CollectGCDumpActionTests.cs
│ │ ├── CollectLiveMetricsActionTests.cs
│ │ ├── CollectLogsActionTests.cs
│ │ ├── CollectTraceActionTests.cs
│ │ ├── CollectionRuleActions.UnitTests.csproj
│ │ ├── Egress
│ │ │ └── Pipe
│ │ │ │ ├── PipeEgressExtension.cs
│ │ │ │ └── PipeEgressExtensionFactory.cs
│ │ ├── EnvironmentVariableActionTests.cs
│ │ ├── ExecuteActionTests.cs
│ │ ├── LoadProfilerActionTests.cs
│ │ └── TestCollections.cs
│ ├── CrossTargeting.targets
│ ├── Directory.Build.props
│ ├── Directory.Build.targets
│ ├── Helix.targets
│ ├── Microsoft.Diagnostics.Monitoring.AzureBlobStorageTests.UnitTests
│ │ ├── AzureBlobEgressProviderTests.cs
│ │ └── Microsoft.Diagnostics.Monitoring.AzureBlobStorageTests.UnitTests.csproj
│ ├── Microsoft.Diagnostics.Monitoring.ConfigurationSchema.UnitTests
│ │ ├── Microsoft.Diagnostics.Monitoring.ConfigurationSchema.UnitTests.csproj
│ │ └── SchemaGenerationTests.cs
│ ├── Microsoft.Diagnostics.Monitoring.ConfigurationSchema
│ │ ├── ExperimentalSchemaProcessor.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.ConfigurationSchema.csproj
│ │ ├── Options
│ │ │ ├── ConsoleFormatterOptions.cs
│ │ │ ├── ConsoleLoggerFormat.cs
│ │ │ ├── ConsoleLoggerOptions.cs
│ │ │ ├── JsonConsoleFormatterOptions.cs
│ │ │ ├── LogLevelOptions.cs
│ │ │ ├── LoggingOptions.cs
│ │ │ ├── RootOptions.Logging.cs
│ │ │ └── SimpleConsoleFormatterOptions.cs
│ │ ├── Program.cs
│ │ └── SchemaGenerator.cs
│ ├── Microsoft.Diagnostics.Monitoring.EgressExtensibilityApp
│ │ ├── Microsoft.Diagnostics.Monitoring.EgressExtensibilityApp.csproj
│ │ ├── Program.cs
│ │ ├── TestEgressProviderOptions.cs
│ │ └── extension.json
│ ├── Microsoft.Diagnostics.Monitoring.OpenApiGen.UnitTests
│ │ ├── Microsoft.Diagnostics.Monitoring.OpenApiGen.UnitTests.csproj
│ │ └── OpenApiGeneratorTests.cs
│ ├── Microsoft.Diagnostics.Monitoring.OpenApiGen
│ │ ├── Microsoft.Diagnostics.Monitoring.OpenApiGen.csproj
│ │ └── Program.cs
│ ├── Microsoft.Diagnostics.Monitoring.Profiler.UnitTestApp
│ │ ├── Microsoft.Diagnostics.Monitoring.Profiler.UnitTestApp.csproj
│ │ ├── Program.cs
│ │ └── Scenarios
│ │ │ ├── ExceptionThrowCatchScenario.cs
│ │ │ └── ExceptionThrowCrashScenario.cs
│ ├── Microsoft.Diagnostics.Monitoring.Profiler.UnitTests
│ │ ├── Baselines
│ │ │ ├── ExceptionThrowCatch.txt
│ │ │ └── ExceptionThrowCrash.txt
│ │ ├── ExceptionTrackingTests.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.Profiler.UnitTests.csproj
│ │ └── ProfilerInitializationTests.cs
│ ├── Microsoft.Diagnostics.Monitoring.S3StorageTests.UnitTests
│ │ ├── InMemoryS3.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.S3StorageTests.UnitTests.csproj
│ │ ├── MultiPartUploadStreamTests.cs
│ │ └── S3StorageEgressProviderTests.cs
│ ├── Microsoft.Diagnostics.Monitoring.StartupHook.UnitTests
│ │ ├── BackgroundService
│ │ │ ├── BackgroundServiceTests.cs
│ │ │ └── MockBackgroundService.cs
│ │ ├── Exceptions
│ │ │ ├── CurrentAppDomainFirstChanceExceptionSourceTests.cs
│ │ │ ├── Eventing
│ │ │ │ ├── ExceptionsEventListener.cs
│ │ │ │ └── ExceptionsEventSourceTests.cs
│ │ │ ├── Identification
│ │ │ │ ├── ExceptionGroupIdentifierCacheTests.cs
│ │ │ │ ├── ExceptionGroupIdentifierTests.cs
│ │ │ │ └── TestExceptionIdentifierCacheCallback.cs
│ │ │ ├── MockExceptionSource.cs
│ │ │ ├── MonitorExecutionContextTrackerTests.cs
│ │ │ └── Pipeline
│ │ │ │ ├── ExceptionPipelineBuilderTests.cs
│ │ │ │ ├── ExceptionPipelineTests.cs
│ │ │ │ └── Steps
│ │ │ │ ├── AppendIntegerPipelineStep.cs
│ │ │ │ ├── ExceptionDemultiplexerPipelineStepTests.cs
│ │ │ │ ├── FilterMonitorExceptionPipelineStepTests.cs
│ │ │ │ └── FilterRepeatExceptionPipelineStepTests.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.StartupHook.UnitTests.csproj
│ │ ├── MonitorMessageDispatcher
│ │ │ ├── MockMessageSource.cs
│ │ │ └── MonitorMessageDispatcherTests.cs
│ │ └── ParameterCapturing
│ │ │ ├── Boxing
│ │ │ ├── BoxingInstructionsTests.cs
│ │ │ └── MethodDefinitionExtensionsTests.cs
│ │ │ ├── FunctionProbes
│ │ │ └── ProfilerAbiTests.cs
│ │ │ ├── MethodResolverTests.cs
│ │ │ ├── MethodSignatureTests.cs
│ │ │ ├── ObjectFormatting
│ │ │ ├── Formatters
│ │ │ │ ├── DebuggerDisplay
│ │ │ │ │ ├── DebuggerDisplayFormatterTests.cs
│ │ │ │ │ ├── DebuggerDisplayParserTests.cs
│ │ │ │ │ └── ExpressionBinderTests.cs
│ │ │ │ └── RuntimeFormattersTests.cs
│ │ │ ├── ObjectFormatterFactoryTests.cs
│ │ │ └── ObjectFormatterTests.cs
│ │ │ ├── Pipeline
│ │ │ ├── CaptureLimitPolicyProbesTests.cs
│ │ │ ├── ParameterCapturingPipelineTests.cs
│ │ │ └── TestFunctionProbes.cs
│ │ │ ├── SampleMethods.cs
│ │ │ └── TypeUtilsTests.cs
│ ├── Microsoft.Diagnostics.Monitoring.TestCommon
│ │ ├── ActionTestsConstants.cs
│ │ ├── AssemblyHelper.cs
│ │ ├── CommonTestTimeouts.cs
│ │ ├── ConsoleOutputHelper.cs
│ │ ├── CounterPayload.cs
│ │ ├── DiagnosticPortHelper.cs
│ │ ├── DictionaryExtensions.cs
│ │ ├── DistroInformation.cs
│ │ ├── DumpTestUtilities.cs
│ │ ├── EnumerableExtensions.cs
│ │ ├── Fixtures
│ │ │ └── AzuriteFixture.cs
│ │ ├── GenerateDotNetHost.targets
│ │ ├── JsonSerializerOptionsFactory.cs
│ │ ├── LiveMetricsTestConstants.cs
│ │ ├── LiveMetricsTestUtilities.cs
│ │ ├── LogEntry.cs
│ │ ├── LogsTestUtilities.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.TestCommon.csproj
│ │ ├── NativeLibraryHelper.cs
│ │ ├── PrefixedOutputHelper.cs
│ │ ├── ProfilerHelper.cs
│ │ ├── RetryUtilities.cs
│ │ ├── Runners
│ │ │ ├── AppRunner.cs
│ │ │ ├── AppRunnerExtensions.cs
│ │ │ ├── ConsoleLogEvent.cs
│ │ │ ├── DotNetRunner.cs
│ │ │ └── LoggingRunnerAdapter.cs
│ │ ├── StreamExtensions.cs
│ │ ├── TargetFrameworkMoniker.cs
│ │ ├── TargetFrameworkMonikerExtensions.cs
│ │ ├── TargetFrameworkMonikerTraitAttribute.cs
│ │ ├── TargetFrameworkMonikerTraitDiscoverer.cs
│ │ ├── TaskTestExtensions.cs
│ │ ├── TemporaryDirectory.cs
│ │ ├── TestAppLogEventIds.cs
│ │ ├── TestAppScenarios.cs
│ │ ├── TestConditions.cs
│ │ ├── TestDotNetHost.cs
│ │ ├── TestDotNetHost.cs.template
│ │ ├── TestLogger.cs
│ │ └── TraceTestUtilities.cs
│ ├── Microsoft.Diagnostics.Monitoring.TestProcessCleanupStartupHook
│ │ ├── Microsoft.Diagnostics.Monitoring.TestProcessCleanupStartupHook.csproj
│ │ ├── StartupHook.cs
│ │ └── TestProcessCleanupIdentifiers.cs
│ ├── Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests
│ │ ├── Auth
│ │ │ └── ApiKey
│ │ │ │ ├── ApiKeySignInfo.cs
│ │ │ │ └── ApiKeyToken.cs
│ │ ├── AuthenticationTests.cs
│ │ ├── AzureAdIntegrationTests.cs
│ │ ├── CollectTraceTests.cs
│ │ ├── CollectionRuleDescriptionTests.cs
│ │ ├── CollectionRuleTests.cs
│ │ ├── DiagnosticPortTests.cs
│ │ ├── Directory.Build.props
│ │ ├── DisposableBox.cs
│ │ ├── DumpTests.cs
│ │ ├── EgressTests.cs
│ │ ├── ExceptionsTests.cs
│ │ ├── Fixtures
│ │ │ ├── DefaultCollectionFixture.cs
│ │ │ └── ServiceProviderFixture.cs
│ │ ├── FunctionProbesTests.cs
│ │ ├── GenerateKeyTests.cs
│ │ ├── HttpApi
│ │ │ ├── ApiClient.cs
│ │ │ ├── ApiClientExtensions.cs
│ │ │ ├── ApiStatusCodeException.cs
│ │ │ ├── ContentTypes.cs
│ │ │ ├── OperationResponse.cs
│ │ │ ├── OperationStatusResponse.cs
│ │ │ ├── ResponseStreamHolder.cs
│ │ │ └── ValidationProblemDetailsException.cs
│ │ ├── InfoTests.cs
│ │ ├── KestrelTests.cs
│ │ ├── LiveMetricsTests.cs
│ │ ├── LogsTests.cs
│ │ ├── MetricsTests.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests.csproj
│ │ ├── OperationsTests.cs
│ │ ├── Options
│ │ │ ├── OptionsExtensions.ApiKey.cs
│ │ │ └── OptionsExtensions.cs
│ │ ├── OverlappingEventSourceTests.cs
│ │ ├── ParameterCapturingTests.cs
│ │ ├── ProcessTests.cs
│ │ ├── RootTests.cs
│ │ ├── Runners
│ │ │ ├── MonitorCollectRunner.Artifacts.cs
│ │ │ ├── MonitorCollectRunner.CollectionRule.cs
│ │ │ ├── MonitorCollectRunner.cs
│ │ │ ├── MonitorGenerateKeyRunner.cs
│ │ │ ├── MonitorRunner.cs
│ │ │ ├── MonitorRunnerExtensions.cs
│ │ │ └── ScenarioRunner.cs
│ │ ├── StacksTests.cs
│ │ └── TestTimeouts.cs
│ ├── Microsoft.Diagnostics.Monitoring.Tool.TestHostingStartup
│ │ ├── BuildOutput.cs
│ │ ├── BuildOutputExtensionRepository.cs
│ │ ├── BuildOutputManagedFileProvider.cs
│ │ ├── BuildOutputNativeFileProvider.cs
│ │ ├── BuildOutputSharedLibraryInitializer.cs
│ │ ├── HostingStartup.cs
│ │ └── Microsoft.Diagnostics.Monitoring.Tool.TestHostingStartup.csproj
│ ├── Microsoft.Diagnostics.Monitoring.Tool.TestStartupHook
│ │ ├── Microsoft.Diagnostics.Monitoring.Tool.TestStartupHook.csproj
│ │ └── StartupHook.cs
│ ├── Microsoft.Diagnostics.Monitoring.Tool.UnitTestCommon
│ │ ├── ActionTestsHelper.cs
│ │ ├── CollectionRules
│ │ │ └── Actions
│ │ │ │ ├── ActionsServiceCollectionExtensions.cs
│ │ │ │ ├── CallbackAction.cs
│ │ │ │ └── PassThroughAction.cs
│ │ ├── EndpointInfoSourceCallback.cs
│ │ ├── EndpointUtilities.cs
│ │ ├── ExecuteActionTestHelper.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.Tool.UnitTestCommon.csproj
│ │ ├── Options
│ │ │ └── CollectionRuleOptionsExtensions.cs
│ │ ├── TestDotnetToolsFileSystem.cs
│ │ ├── TestHostHelper.cs
│ │ └── TestOutputLogger.cs
│ ├── Microsoft.Diagnostics.Monitoring.Tool.UnitTests
│ │ ├── ActionDependencyAnalyzerTests.cs
│ │ ├── BuiltInTriggerTests.cs
│ │ ├── CollectionRuleDefaultsTests.cs
│ │ ├── CollectionRuleDescriptionPipelineTests.cs
│ │ ├── CollectionRuleOptionsTests.cs
│ │ ├── CollectionRulePipelineTests.cs
│ │ ├── CollectionRulePipelineTestsHelper.cs
│ │ ├── CollectionRules
│ │ │ └── Triggers
│ │ │ │ ├── ManualTrigger.cs
│ │ │ │ └── TriggersServiceCollectionExtensions.cs
│ │ ├── ConfigurationTests.cs
│ │ ├── DefaultSharedLibraryInitializerTests.cs
│ │ ├── DiagnosticPortConfigurations
│ │ │ ├── Connect.txt
│ │ │ ├── FullListen.txt
│ │ │ └── SimplifiedListen.txt
│ │ ├── DiagnosticPortTests.cs
│ │ ├── DiagnosticPortTestsConstants.cs
│ │ ├── EgressExtensibilityTests.cs
│ │ ├── EgressExtensibilityTestsConstants.cs
│ │ ├── EndpointInfo
│ │ │ └── ServerEndpointTrackerV2Tests.cs
│ │ ├── EndpointInfoSourceTests.cs
│ │ ├── ExceptionsPipelineTests.cs
│ │ ├── ExceptionsStoreLimitsCallbackTests.cs
│ │ ├── ExceptionsStoreTests.cs
│ │ ├── ExpectedConfigurations
│ │ │ ├── AuthenticationFull.json
│ │ │ ├── AuthenticationRedacted.json
│ │ │ ├── CollectionRuleDefaults.json
│ │ │ ├── CollectionRules.json
│ │ │ ├── DefaultProcess.json
│ │ │ ├── DiagnosticPort.json
│ │ │ ├── DotnetMonitorDebug.json
│ │ │ ├── EgressFull.json
│ │ │ ├── EgressRedacted.json
│ │ │ ├── GlobalCounter.json
│ │ │ ├── InProcessFeatures.json
│ │ │ ├── Logging.json
│ │ │ ├── Metrics.json
│ │ │ ├── Storage.json
│ │ │ ├── Templates.json
│ │ │ └── URLs.json
│ │ ├── ExpectedShowSourcesConfigurations
│ │ │ ├── AuthenticationFull.json
│ │ │ ├── AuthenticationRedacted.json
│ │ │ ├── CollectionRuleDefaults.json
│ │ │ ├── CollectionRules.json
│ │ │ ├── DefaultProcess.json
│ │ │ ├── DiagnosticPort.json
│ │ │ ├── DotnetMonitorDebug.json
│ │ │ ├── EgressFull.json
│ │ │ ├── EgressRedacted.json
│ │ │ ├── GlobalCounter.json
│ │ │ ├── InProcessFeatures.json
│ │ │ ├── Logging.json
│ │ │ ├── Metrics.json
│ │ │ ├── Storage.json
│ │ │ ├── Templates.json
│ │ │ └── URLs.json
│ │ ├── ExtensionManifestTests.cs
│ │ ├── FileSystemEgressExtensionTests.cs
│ │ ├── HostBuilderExtensions.cs
│ │ ├── InProcessFeaturesOptionsBinderTests.cs
│ │ ├── LimitsTestsConstants.cs
│ │ ├── LimitsTestsHelper.cs
│ │ ├── MetricsFormattingTests.cs
│ │ ├── MetricsSettingsTests.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.Tool.UnitTests.csproj
│ │ ├── MockTimeProvider.cs
│ │ ├── Options
│ │ │ ├── AuthenticationOptionsTests.cs
│ │ │ ├── AzureAdOptionsTests.cs
│ │ │ ├── CollectionRuleDefaultsOptionsExtensions.cs
│ │ │ ├── CollectionRuleOptionsExtensions.UnitTest.cs
│ │ │ └── S3StorageEgressProviderOptions.UnitTest.cs
│ │ ├── SampleConfigurations
│ │ │ ├── Authentication.json
│ │ │ ├── CollectionRuleDefaults.json
│ │ │ ├── CollectionRules.json
│ │ │ ├── DefaultProcess.json
│ │ │ ├── DiagnosticPort.json
│ │ │ ├── DotnetMonitorDebug.json
│ │ │ ├── Egress.json
│ │ │ ├── GlobalCounter.json
│ │ │ ├── InProcessFeatures.json
│ │ │ ├── Logging.json
│ │ │ ├── Metrics.json
│ │ │ ├── Storage.json
│ │ │ ├── Templates.json
│ │ │ └── URLs.json
│ │ ├── ShowSourcesTestsConstants.cs
│ │ ├── StartupHookTests.cs
│ │ ├── TemplatesConfigurations
│ │ │ ├── CollectionRuleDefaults.json
│ │ │ ├── CollectionRules.json
│ │ │ ├── DiagnosticPort.json
│ │ │ ├── Egress.json
│ │ │ └── Templates.json
│ │ ├── TemplatesTests.cs
│ │ ├── TriggerTestsConstants.cs
│ │ └── TriggerTestsHelper.cs
│ ├── Microsoft.Diagnostics.Monitoring.UnitTestApp
│ │ ├── AppCommands.cs
│ │ ├── LoggingExtensions.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.UnitTestApp.csproj
│ │ ├── Program.cs
│ │ ├── ScenarioHelpers.cs
│ │ └── Scenarios
│ │ │ ├── AspNetScenario.cs
│ │ │ ├── AsyncWaitScenario.cs
│ │ │ ├── EnvironmentVariablesScenario.cs
│ │ │ ├── ExceptionsScenario.cs
│ │ │ ├── ExecuteScenario.cs
│ │ │ ├── FunctionProbes
│ │ │ ├── FunctionProbesScenario.cs
│ │ │ └── PerFunctionProbeProxy.cs
│ │ │ ├── HiddenFrameTestMethods.cs
│ │ │ ├── LoggerScenario.cs
│ │ │ ├── MetricsScenario.cs
│ │ │ ├── MonitorLibrary.cs
│ │ │ ├── ParameterCapturingScenario.cs
│ │ │ ├── SpinWaitScenario.cs
│ │ │ ├── StacksScenario.cs
│ │ │ ├── StacksWorker.cs
│ │ │ └── TraceEventsScenario.cs
│ └── Microsoft.Diagnostics.Monitoring.WebApi.UnitTests
│ │ ├── CommandLineHelperTests.cs
│ │ ├── DefaultProcessConfigurationTests.cs
│ │ ├── Microsoft.Diagnostics.Monitoring.WebApi.UnitTests.csproj
│ │ ├── Models
│ │ └── CallStackResultsTests.cs
│ │ ├── Operation
│ │ ├── EgressOperationServiceTests.cs
│ │ └── EgressOperationStoreTests.cs
│ │ └── PrometheusDataModelTests.cs
├── Tools
│ ├── Directory.Build.props
│ └── dotnet-monitor
│ │ ├── ActivityExtensions.cs
│ │ ├── ActivityMetadataNames.cs
│ │ ├── AddressListenResults.cs
│ │ ├── AddressListenResultsStartupFilter.cs
│ │ ├── AddressListenResultsStartupLogger.cs
│ │ ├── Auth
│ │ ├── ApiKey
│ │ │ ├── AuthorizedUserRequirement.cs
│ │ │ ├── GeneratedJwtKey.cs
│ │ │ ├── JwtAlgorithmChecker.cs
│ │ │ ├── JwtBearerChangeTokenSource.cs
│ │ │ ├── JwtBearerOptionsExtensions.cs
│ │ │ ├── JwtBearerPostConfigure.cs
│ │ │ ├── MonitorApiKeyAuthConfigurator.cs
│ │ │ ├── MonitorApiKeyChangeTokenSource.cs
│ │ │ ├── MonitorApiKeyConfiguration.cs
│ │ │ ├── MonitorApiKeyConfigurationObserver.cs
│ │ │ ├── MonitorApiKeyPostConfigure.cs
│ │ │ ├── RejectAllSecurityValidator.cs
│ │ │ └── UserAuthorizationHandler.cs
│ │ ├── AuthConfiguratorFactory.cs
│ │ ├── AuthenticationStartupLoggerWrapper.cs
│ │ ├── AzureAd
│ │ │ └── AzureAdAuthConfigurator.cs
│ │ ├── DeferredAuthenticationValidationException.cs
│ │ ├── IAuthenticationConfigurator.cs
│ │ └── NoAuth
│ │ │ └── NoAuthConfigurator.cs
│ │ ├── CallStacksCapability.cs
│ │ ├── CollectionRuleMetadataNames.cs
│ │ ├── CollectionRules
│ │ ├── ActionListExecutor.cs
│ │ ├── ActionOptionsDependencyAnalyzer.cs
│ │ ├── Actions
│ │ │ ├── CollectDumpAction.cs
│ │ │ ├── CollectExceptionsAction.cs
│ │ │ ├── CollectGCDumpAction.cs
│ │ │ ├── CollectLiveMetricsAction.cs
│ │ │ ├── CollectLogsAction.cs
│ │ │ ├── CollectStacksAction.cs
│ │ │ ├── CollectTraceAction.cs
│ │ │ ├── CollectionRuleActionBase.cs
│ │ │ ├── CollectionRuleActionConstants.cs
│ │ │ ├── CollectionRuleActionFactoryProxy.cs
│ │ │ ├── CollectionRuleActionOperations.cs
│ │ │ ├── CollectionRuleEgressActionBase.cs
│ │ │ ├── ExecuteAction.cs
│ │ │ ├── GetEnvironmentVariableAction.cs
│ │ │ ├── ICollectionRuleAction.cs
│ │ │ ├── ICollectionRuleActionFactory.cs
│ │ │ ├── ICollectionRuleActionFactoryProxy.cs
│ │ │ ├── ICollectionRuleActionOperations.cs
│ │ │ ├── LoadProfilerAction.cs
│ │ │ └── SetEnvironmentVariableAction.cs
│ │ ├── CollectionRuleContainer.cs
│ │ ├── CollectionRuleContext.cs
│ │ ├── CollectionRuleEndpointInfoSourceCallbacks.cs
│ │ ├── CollectionRulePipeline.cs
│ │ ├── CollectionRuleService.cs
│ │ ├── Configuration
│ │ │ ├── CollectionRuleActionDescriptor.cs
│ │ │ ├── CollectionRuleBindingHelper.cs
│ │ │ ├── CollectionRuleConfigureNamedOptions.cs
│ │ │ ├── CollectionRulePostConfigureNamedOptions.cs
│ │ │ ├── CollectionRuleTriggerDescriptor.cs
│ │ │ ├── CollectionRulesConfigurationChangeTokenSource.cs
│ │ │ ├── CollectionRulesConfigurationProvider.cs
│ │ │ ├── ICollectionRuleActionDescriptor.cs
│ │ │ ├── ICollectionRuleTriggerDescriptor.cs
│ │ │ └── TemplatesConfigureNamedOptions.cs
│ │ ├── Exceptions
│ │ │ ├── CollectionRuleActionException.cs
│ │ │ └── CollectionRuleActionExecutionException.cs
│ │ ├── HostInfo.cs
│ │ ├── KeyValueLogScopeExtensions.cs
│ │ ├── KnownCollectionRuleActions.cs
│ │ ├── KnownCollectionRuleTriggers.cs
│ │ ├── Options
│ │ │ ├── Actions
│ │ │ │ ├── ActionOptionsConstants.cs
│ │ │ │ ├── ActionOptionsDependencyPropertyAttribute.cs
│ │ │ │ ├── BaseRecordOptions.cs
│ │ │ │ ├── CollectDumpOptions.cs
│ │ │ │ ├── CollectDumpOptionsDefaults.cs
│ │ │ │ ├── CollectExceptionsOptions.Validate.cs
│ │ │ │ ├── CollectExceptionsOptions.cs
│ │ │ │ ├── CollectExceptionsOptionsDefaults.cs
│ │ │ │ ├── CollectExceptionsOptionsExtensions.cs
│ │ │ │ ├── CollectGCDumpOptions.cs
│ │ │ │ ├── CollectLiveMetricsOptions.cs
│ │ │ │ ├── CollectLiveMetricsOptionsDefaults.cs
│ │ │ │ ├── CollectLiveMetricsOptionsExtensions.cs
│ │ │ │ ├── CollectLogsOptions.Validate.cs
│ │ │ │ ├── CollectLogsOptions.cs
│ │ │ │ ├── CollectLogsOptionsDefaults.cs
│ │ │ │ ├── CollectStacksOptions.Validate.cs
│ │ │ │ ├── CollectStacksOptions.cs
│ │ │ │ ├── CollectStacksOptionsDefaults.cs
│ │ │ │ ├── CollectStacksOptionsExtensions.cs
│ │ │ │ ├── CollectTraceOptions.Validate.cs
│ │ │ │ ├── CollectTraceOptions.cs
│ │ │ │ ├── CollectTraceOptionsDefaults.cs
│ │ │ │ ├── ExecuteOptions.cs
│ │ │ │ ├── ExecuteOptionsDefaults.cs
│ │ │ │ ├── GetEnvironmentVariableOptions.cs
│ │ │ │ ├── LoadProfilerOptions.cs
│ │ │ │ ├── RequiredGuidAttribute.cs
│ │ │ │ ├── SetEnvironmentVariableOptions.cs
│ │ │ │ ├── TraceEventFilter.cs
│ │ │ │ └── ValidateEgressProviderAttribute.cs
│ │ │ ├── CollectionRuleActionDefaultsOptions.cs
│ │ │ ├── CollectionRuleActionOptions.Validate.cs
│ │ │ ├── CollectionRuleActionOptions.cs
│ │ │ ├── CollectionRuleActionOptionsDefaults.cs
│ │ │ ├── CollectionRuleDefaultsInterfaces
│ │ │ │ ├── IEgressProviderProperties.cs
│ │ │ │ ├── IRequestCountProperties.cs
│ │ │ │ └── ISlidingWindowDurationProperties.cs
│ │ │ ├── CollectionRuleDefaultsOptions.cs
│ │ │ ├── CollectionRuleLimitsDefaultsOptions.cs
│ │ │ ├── CollectionRuleLimitsOptions.cs
│ │ │ ├── CollectionRuleLimitsOptionsDefaults.cs
│ │ │ ├── CollectionRuleOptions.Validate.cs
│ │ │ ├── CollectionRuleOptions.cs
│ │ │ ├── CollectionRuleOptionsConstants.cs
│ │ │ ├── CollectionRuleTriggerDefaultsOptions.cs
│ │ │ ├── CollectionRuleTriggerOptions.Validate.cs
│ │ │ ├── CollectionRuleTriggerOptions.cs
│ │ │ ├── DefaultCollectionRulePostConfigureOptions.cs
│ │ │ ├── RegularExpressionsAttribute.cs
│ │ │ ├── TemplateOptions.cs
│ │ │ ├── Triggers
│ │ │ │ ├── AspNetRequestCountOptions.cs
│ │ │ │ ├── AspNetRequestCountOptionsDefaults.cs
│ │ │ │ ├── AspNetRequestDurationOptions.cs
│ │ │ │ ├── AspNetRequestDurationOptionsDefaults.cs
│ │ │ │ ├── AspNetResponseStatusOptions.cs
│ │ │ │ ├── AspNetResponseStatusOptionsDefaults.cs
│ │ │ │ ├── EventCounterOptions.Validate.cs
│ │ │ │ ├── EventCounterOptions.cs
│ │ │ │ ├── EventCounterOptionsDefaults.cs
│ │ │ │ ├── EventCounterShortcuts
│ │ │ │ │ ├── CPUUsageOptions.cs
│ │ │ │ │ ├── CPUUsageOptionsDefaults.cs
│ │ │ │ │ ├── GCHeapSizeOptions.cs
│ │ │ │ │ ├── GCHeapSizeOptionsDefaults.cs
│ │ │ │ │ ├── IEventCounterShortcuts.Validate.cs
│ │ │ │ │ ├── IEventCounterShortcuts.cs
│ │ │ │ │ ├── KnownEventCounterConstants.cs
│ │ │ │ │ ├── ThreadpoolQueueLengthOptions.cs
│ │ │ │ │ └── ThreadpoolQueueLengthOptionsDefaults.cs
│ │ │ │ ├── EventMeterOptions.Validate.cs
│ │ │ │ ├── EventMeterOptions.cs
│ │ │ │ ├── EventMeterOptionsDefaults.cs
│ │ │ │ ├── IAspNetActionPathFilters.cs
│ │ │ │ └── TriggerOptionsConstants.cs
│ │ │ └── ValidationHelper.cs
│ │ └── Triggers
│ │ │ ├── AspNetRequestCountTriggerFactory.cs
│ │ │ ├── AspNetRequestDurationTriggerFactory.cs
│ │ │ ├── AspNetResponseStatusTriggerFactory.cs
│ │ │ ├── CollectionRuleTriggerFactoryProxy.cs
│ │ │ ├── CollectionRuleTriggerOperations.cs
│ │ │ ├── EventCounterTriggerFactory.cs
│ │ │ ├── EventMeterTriggerFactory.cs
│ │ │ ├── EventPipeTriggerFactory.cs
│ │ │ ├── ICollectionRuleStartupTrigger.cs
│ │ │ ├── ICollectionRuleTrigger.cs
│ │ │ ├── ICollectionRuleTriggerFactory.cs
│ │ │ ├── ICollectionRuleTriggerFactoryProxy.cs
│ │ │ ├── ICollectionRuleTriggerOperations.cs
│ │ │ ├── StartupTrigger.cs
│ │ │ └── StartupTriggerFactory.cs
│ │ ├── Commands
│ │ ├── CollectCommandHandler.cs
│ │ ├── ConfigShowCommandHandler.cs
│ │ └── GenerateApiKeyCommandHandler.cs
│ │ ├── CommonOptionsExtensions.cs
│ │ ├── ConfigurationExtensions.cs
│ │ ├── ConfigurationJsonWriter.cs
│ │ ├── ConfigurationKeys.cs
│ │ ├── ConfigurationTokenParser.cs
│ │ ├── ConvertUtils.cs
│ │ ├── DataAnnotationValidateOptions.cs
│ │ ├── DiagnosticPort
│ │ ├── DiagnosticPortPostConfigureOptions.cs
│ │ ├── DiagnosticPortStartupLogger.cs
│ │ └── DiagnosticPortValidateOptions.cs
│ │ ├── DirectoryInfoExtensions.cs
│ │ ├── DisposableHelper.cs
│ │ ├── DotNetHost.Unix.cs
│ │ ├── DotNetHost.Windows.cs
│ │ ├── DotNetHost.cs
│ │ ├── Dumps
│ │ ├── DumpOperation.cs
│ │ └── DumpOperationFactory.cs
│ │ ├── DynamicNamedOptionsCache.cs
│ │ ├── Egress
│ │ ├── Configuration
│ │ │ ├── EgressConfigurationExtensions.cs
│ │ │ ├── EgressConfigurationProvider.cs
│ │ │ └── IEgressConfigurationProvider.cs
│ │ ├── EgressArtifactSettings.cs
│ │ ├── EgressException.cs
│ │ ├── EgressProviderSource.cs
│ │ ├── EgressProviderTypes.cs
│ │ ├── EgressService.cs
│ │ ├── EgressStartupLogger.cs
│ │ ├── EgressValidationService.cs
│ │ ├── Extension
│ │ │ ├── EgressArtifactResult.cs
│ │ │ ├── EgressExtension.OutputParser.cs
│ │ │ ├── EgressExtension.cs
│ │ │ ├── EgressExtensionFactory.cs
│ │ │ ├── ExtensionEgressPayload.cs
│ │ │ └── IEgressExtension.cs
│ │ └── FileSystem
│ │ │ ├── FileSystemEgressExtension.cs
│ │ │ └── FileSystemEgressExtensionFactory.cs
│ │ ├── ElevatedPermissionsStartupLogger.cs
│ │ ├── EndpointInfo
│ │ ├── ClientEndpointInfoSource.cs
│ │ ├── EndpointInfo.cs
│ │ ├── IEndpointInfoSourceCallbacks.cs
│ │ ├── IServerEndpointStateChecker.cs
│ │ ├── IServerEndpointTracker.cs
│ │ ├── ScopedEndpointInfo.cs
│ │ ├── ServerEndpointInfoSource.cs
│ │ ├── ServerEndpointStateChecker.cs
│ │ ├── ServerEndpointTracker.cs
│ │ └── ServerEndpointTrackerv2.cs
│ │ ├── EnvironmentInformation.cs
│ │ ├── EventSourcePipelineProxy.cs
│ │ ├── Exceptions
│ │ ├── EventExceptionsPipeline.cs
│ │ ├── EventExceptionsPipelineNameCache.cs
│ │ ├── ExceptionEvents.cs
│ │ ├── ExceptionsOperation.cs
│ │ ├── ExceptionsOperationFactory.cs
│ │ ├── ExceptionsPostConfigureOptions.cs
│ │ ├── ExceptionsService.cs
│ │ ├── ExceptionsStore.cs
│ │ ├── ExceptionsStoreCallbackBase.cs
│ │ ├── ExceptionsStoreLimitsCallback.cs
│ │ ├── ExceptionsStoreLimitsCallbackFactory.cs
│ │ ├── IExceptionsStoreCallback.cs
│ │ └── IExceptionsStoreCallbackFactory.cs
│ │ ├── ExceptionsCapability.cs
│ │ ├── Experimental
│ │ ├── ExperimentalFeatureIdentifiers.cs
│ │ └── ExperimentalStartupLogger.cs
│ │ ├── Extensibility
│ │ ├── DefaultDotnetToolsFileSystem.cs
│ │ ├── ExtensionDiscoverer.cs
│ │ ├── ExtensionException.cs
│ │ ├── ExtensionManifest.cs
│ │ ├── ExtensionMode.cs
│ │ ├── ExtensionRepository.cs
│ │ ├── ExtensionTypes.cs
│ │ ├── FolderExtensionRepository.cs
│ │ ├── IDotnetToolsFileSystem.cs
│ │ ├── IExtension.cs
│ │ ├── IExtensionResult.cs
│ │ ├── IWellKnownExtensionFactory.cs
│ │ └── WellKnownExtensionRepository.cs
│ │ ├── FilteredEndpointInfoSource.cs
│ │ ├── GCDump
│ │ ├── GCDumpOperation.cs
│ │ └── GCDumpOperationFactory.cs
│ │ ├── HostBuilder
│ │ ├── HostBuilderHelper.cs
│ │ ├── HostBuilderResults.cs
│ │ ├── HostBuilderSettings.cs
│ │ ├── HostBuilderStartupLogger.cs
│ │ ├── ServerUrlsBlockingConfigurationManager.cs
│ │ ├── ServerUrlsBlockingConfigurationProvider.cs
│ │ └── ServerUrlsBlockingConfigurationSource.cs
│ │ ├── HttpEgressCapability.cs
│ │ ├── IDiagnosticLifetimeService.cs
│ │ ├── IStartupLogger.cs
│ │ ├── InProcessFeatures
│ │ ├── InProcessFeatureOptionsBinder.cs
│ │ ├── InProcessFeatures.cs
│ │ ├── InProcessFeaturesEndpointInfoSourceCallbacks.cs
│ │ ├── InProcessFeaturesIdentifiers.cs
│ │ ├── InProcessFeaturesService.cs
│ │ └── InProcessPostConfigureOptions.cs
│ │ ├── LibrarySharing
│ │ ├── DefaultSharedLibraryInitializer.cs
│ │ ├── DefaultSharedLibraryPathProvider.cs
│ │ ├── IFileProviderFactory.cs
│ │ ├── ISharedLibraryInitializer.cs
│ │ ├── ISharedLibraryService.cs
│ │ ├── NativeLibraryHelper.cs
│ │ ├── SharedFileProvider.cs
│ │ └── SharedLibraryService.cs
│ │ ├── LoggingEventIds.cs
│ │ ├── LoggingExtensions.cs
│ │ ├── Logs
│ │ ├── LogsOperation.cs
│ │ └── LogsOperationFactory.cs
│ │ ├── Metrics
│ │ ├── MetricsOperation.cs
│ │ └── MetricsOperationFactory.cs
│ │ ├── MetricsCapability.cs
│ │ ├── MetricsPortsProvider.cs
│ │ ├── NotSupportedServiceProvider.cs
│ │ ├── OpenApi
│ │ ├── OpenApiOptionsExtensions.cs
│ │ ├── ResponseNames.cs
│ │ ├── StatusCodeStrings.cs
│ │ └── Transformers
│ │ │ ├── BadRequestResponseDocumentTransformer.cs
│ │ │ ├── BadRequestResponseOperationTransformer.cs
│ │ │ ├── RemoveFailureContentTypesOperationTransformer.cs
│ │ │ ├── TooManyRequestsResponseDocumentTransformer.cs
│ │ │ ├── TooManyRequestsResponseOperationTransformer.cs
│ │ │ ├── UnauthorizedResponseDocumentTransformer.cs
│ │ │ └── UnauthorizedResponseOperationTransformer.cs
│ │ ├── OperationTrackerServiceEndpointInfoSourceCallback.cs
│ │ ├── OutputFormat.cs
│ │ ├── ParameterCapturing
│ │ ├── CaptureParametersOperation.cs
│ │ ├── CaptureParametersOperationFactory.cs
│ │ ├── CapturedParameters.cs
│ │ ├── CapturedParametersBuilder.cs
│ │ ├── CapturedParametersWriter.cs
│ │ ├── EventParameterCapturingPipeline.cs
│ │ ├── ParameterCapturingEvents.cs
│ │ └── ParameterCapturingPostConfigureOptions.cs
│ │ ├── ParametersCapability.cs
│ │ ├── PipelineArtifactOperation.cs
│ │ ├── Profiler
│ │ ├── ProfilerEndpointInfoSourceCallbacks.cs
│ │ ├── ProfilerIdentifiers.cs
│ │ ├── ProfilerMessagePayloads.cs
│ │ └── ProfilerService.cs
│ │ ├── Program.cs
│ │ ├── RootOptions.cs
│ │ ├── RuntimeInfo.cs
│ │ ├── ServiceCollectionExtensions.cs
│ │ ├── Stacks
│ │ ├── CallStacksPostConfigureOptions.cs
│ │ ├── StacksOperation.cs
│ │ └── StacksOperationFactory.cs
│ │ ├── Startup.cs
│ │ ├── StartupHook
│ │ ├── StartupHookApplicator.cs
│ │ └── StartupHookService.cs
│ │ ├── StartupLoggingHostedService.cs
│ │ ├── StoragePostConfigureOptions.cs
│ │ ├── StreamExtensions.cs
│ │ ├── Strings.Designer.cs
│ │ ├── Strings.resx
│ │ ├── Survey
│ │ ├── ExperienceSurvey.cs
│ │ └── ExperienceSurveyStartupLogger.cs
│ │ ├── TestAssemblies.cs
│ │ ├── ToolIdentifiers.cs
│ │ ├── Trace
│ │ ├── AbstractTraceOperation.cs
│ │ ├── TraceOperation.cs
│ │ ├── TraceOperationFactory.cs
│ │ └── TraceUntilEventOperation.cs
│ │ ├── ValidationResultExtensions.cs
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── dotnet-monitor.csproj
├── archives
│ ├── AzureBlobStorage
│ │ ├── AzureBlobStorage-archive.proj
│ │ ├── AzureBlobStorage-symbols.proj
│ │ ├── Package.props
│ │ ├── ProjectsToBuild.props
│ │ └── ProjectsToPublish.props
│ ├── Directory.Build.props
│ ├── Directory.Build.targets
│ ├── PublishedProjectPackage.targets
│ ├── S3Storage
│ │ ├── Package.props
│ │ ├── ProjectsToBuild.props
│ │ ├── ProjectsToPublish.props
│ │ ├── S3Storage-archive.proj
│ │ └── S3Storage-symbols.proj
│ ├── dotnet-monitor-base
│ │ ├── Package.props
│ │ ├── ProjectsToBuild.props
│ │ ├── ProjectsToPublish.props
│ │ ├── dotnet-monitor-base-archive.proj
│ │ └── dotnet-monitor-base-symbols.proj
│ ├── pkgs
│ │ ├── Common.props
│ │ ├── Common.targets
│ │ └── PublishedProject.targets
│ └── symbols
│ │ ├── Common.props
│ │ ├── Common.targets
│ │ └── PublishedProject.targets
├── external
│ ├── runtime-version.txt
│ └── runtime
│ │ └── src
│ │ └── coreclr
│ │ ├── inc
│ │ ├── cor.h
│ │ ├── corhdr.h
│ │ ├── corhlpr.cpp
│ │ ├── corhlpr.h
│ │ ├── opcode.def
│ │ └── unreachable.h
│ │ └── pal
│ │ ├── inc
│ │ ├── pal.h
│ │ ├── pal_endian.h
│ │ ├── pal_mstypes.h
│ │ └── rt
│ │ │ ├── no_sal2.h
│ │ │ ├── oaidl.h
│ │ │ ├── objidl.h
│ │ │ ├── ole2.h
│ │ │ ├── palrt.h
│ │ │ ├── poppack.h
│ │ │ ├── pshpack1.h
│ │ │ ├── rpc.h
│ │ │ ├── rpcndr.h
│ │ │ ├── sal.h
│ │ │ ├── servprov.h
│ │ │ ├── specstrings.h
│ │ │ ├── specstrings_strict.h
│ │ │ ├── unknwn.h
│ │ │ ├── windows.h
│ │ │ └── winerror.h
│ │ └── prebuilt
│ │ ├── idl
│ │ └── corprof_i.cpp
│ │ └── inc
│ │ ├── corerror.h
│ │ └── corprof.h
├── inc
│ ├── com.h
│ ├── guids.h
│ ├── macros.h
│ ├── pal
│ │ ├── ntimage.h
│ │ ├── pal_assert.h
│ │ ├── pal_error.h
│ │ ├── safecrt.h
│ │ └── safemath.h
│ ├── refcount.h
│ ├── tostream.h
│ └── tstring.h
└── singlefile
│ ├── Directory.Build.props
│ ├── Directory.Build.targets
│ └── dotnet-monitor
│ ├── Common.props
│ ├── ProjectsToBuild.props
│ ├── ProjectsToPublish.props
│ └── dotnet-monitor-singlefile.proj
├── startvs.cmd
├── startvscode.cmd
├── startvscode.sh
└── test.sh
/.config/tsaoptions.json:
--------------------------------------------------------------------------------
1 | {
2 | "instanceUrl": "https://devdiv.visualstudio.com/",
3 | "template": "TFSDEVDIV",
4 | "projectName": "DEVDIV",
5 | "areaPath": "DevDiv\\VS Diagnostics\\Production Diagnostics\\Dotnet Monitor",
6 | "iterationPath": "DevDiv",
7 | "notificationAliases": [ "dotnetmonitorsdl@microsoft.com" ],
8 | "repositoryName": "dotnet-dotnet-monitor",
9 | "codebaseName": "dotnet-dotnet-monitor"
10 | }
--------------------------------------------------------------------------------
/.devcontainer/musl/Alpine-DevContainer.md:
--------------------------------------------------------------------------------
1 | # Alpine Dev Container
2 |
3 | The current codespace is using an Alpine dev container, which is only recommended if you need to test changes to `dotnet-monitor` on musl libc. For most other workflows the [Debian dev container](../devcontainer.json) is recommended instead as it has more tooling available.
4 |
5 | ## The following feature are **NOT** currently supported in `dotnet-monitor` Alpine dev containers
6 | - docker-in-docker
7 | - az cli
8 | - nodejs
9 | - kubectl, helm, and minikube
10 | - powershell
11 |
--------------------------------------------------------------------------------
/.devcontainer/musl/Dockerfile:
--------------------------------------------------------------------------------
1 | ARG VARIANT="3.17"
2 | FROM mcr.microsoft.com/devcontainers/base:alpine-${VARIANT}
3 |
4 | RUN apk add icu-libs make cmake clang llvm binutils libgcc gcc musl-dev github-cli
5 |
--------------------------------------------------------------------------------
/.devcontainer/shared/ytt-linux-amd64.sha:
--------------------------------------------------------------------------------
1 | 9f2f151cf42a54cdfee5ee1a98b7255821c9c047498d4af788cec8c4cf520fb8 ytt-linux-amd64
2 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # Users referenced in this file will automatically be requested as reviewers for PRs that modify the given paths.
2 | # See https://help.github.com/articles/about-code-owners/
3 | * @dotnet/dotnet-monitor
4 | # We need /eng/ and global.json excluded for automatic updates
5 | /eng/
6 | global.json
7 | /eng/dependabot @dotnet/dotnet-monitor
8 | /eng/actions @dotnet/dotnet-monitor
9 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/03_Documentation_Request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Documentation request
3 | about: Request documentation
4 | title: ''
5 | labels: 'documentation'
6 | assignees: ''
7 | ---
8 |
9 | ### Documentation Request
10 |
11 |
12 |
13 | ### Previous documentation
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/04_Blank_Issue.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Blank issue
3 | about: Something that doesn't fit the other categories
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
--------------------------------------------------------------------------------
/.github/actions/generate-release-notes/releaseNotes.template.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the ${buildDescription} of the `dotnet monitor` tool. This release includes:
2 |
3 | ${changelog}
4 |
5 | ${monikerDescriptions}
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
8 |
--------------------------------------------------------------------------------
/.github/actions/update-releases-json/action.yml:
--------------------------------------------------------------------------------
1 | name: 'Update releases json file'
2 | description: 'Update releases json file'
3 | inputs:
4 | auth_token:
5 | description: 'The token used to authenticate to GitHub.'
6 | required: false
7 | releases_json_file:
8 | description: 'The input releases json file path.'
9 | required: true
10 | supported_frameworks:
11 | description: 'The frameworks supported by the new release.'
12 | required: false
13 | end_of_support_discussion_category:
14 | description: 'The discussion category to post about a version going out of support soon.'
15 | required: false
16 |
17 | runs:
18 | using: 'node16'
19 | main: 'index.js'
20 |
--------------------------------------------------------------------------------
/.github/actions/update-releases-md/action.yml:
--------------------------------------------------------------------------------
1 | name: 'Update releases documentation'
2 | description: 'Update releases documentation'
3 | inputs:
4 | releases_json_file:
5 | description: 'The input releases json file path.'
6 | required: true
7 | releases_md_file:
8 | description: 'The output markdown file path.'
9 | required: true
10 |
11 | runs:
12 | using: 'node16'
13 | main: 'index.js'
14 |
--------------------------------------------------------------------------------
/.github/learning-path-sha.txt:
--------------------------------------------------------------------------------
1 | cd505c19acbea28dc8d9aff84908ced335911801
--------------------------------------------------------------------------------
/.github/linters/check-markdown-links-config.json:
--------------------------------------------------------------------------------
1 | {
2 | "ignorePatterns": [
3 | {
4 | "pattern": "^https?://localhost:.*"
5 | },
6 | {
7 | "pattern": "^https://dev\\.azure\\.com/dnceng/internal/.*"
8 | },
9 | {
10 | "pattern": "^https://pkgs\\.dev\\.azure\\.com/dnceng/public/_packaging/.*"
11 | },
12 | {
13 | "pattern": "^https://www\\.dotnetfoundation.org/.*"
14 | },
15 | {
16 | "pattern": "^https://hub\\.docker\\.com/.*"
17 | }
18 | ],
19 | "aliveStatusCodes": [
20 | 0,
21 | 200,
22 | 203
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | ###### Summary
2 |
3 |
4 |
5 | ###### Release Notes Entry
6 |
--------------------------------------------------------------------------------
/.github/workflows/respond-to-first-issue.yml:
--------------------------------------------------------------------------------
1 | name: Respond To First Issue
2 | on:
3 | issues:
4 | types:
5 | - opened
6 |
7 | permissions: {}
8 |
9 | jobs:
10 | check-if-new-user:
11 | runs-on: ubuntu-latest
12 | permissions:
13 | issues: write
14 | steps:
15 | - uses: actions/first-interaction@34f15e814fe48ac9312ccf29db4e74fa767cbab7
16 | with:
17 | repo-token: ${{ secrets.GITHUB_TOKEN }}
18 | issue-message: "## Welcome to dotnet-monitor!\nThanks for creating your first issue; let us know what you think of dotnet-monitor by filling out our [survey](https://aka.ms/dotnet-monitor-survey?src=firstissue)."
19 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "rioj7.command-variable"
4 | ]
5 | }
--------------------------------------------------------------------------------
/.vscode/innerloop/config/.env:
--------------------------------------------------------------------------------
1 | Example_Environment_Variable=1
--------------------------------------------------------------------------------
/.vscode/innerloop/config/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "../../../documentation/schema.json",
3 | "CollectionRuleDefaults": {
4 | "Actions": {
5 | "Egress": "artifacts"
6 | }
7 | },
8 | "Egress": {
9 | "FileSystem": {
10 | "artifacts": {
11 | "DirectoryPath": "./artifacts",
12 | "IntermediateDirectoryPath": "./intermediateArtifacts"
13 | }
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/Build.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\build.ps1""" -restore %*"
3 | exit /b %ErrorLevel%
4 |
--------------------------------------------------------------------------------
/CODE-OF-CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Code of Conduct
2 |
3 | This project has adopted the code of conduct defined by the Contributor Covenant
4 | to clarify expected behavior in our community.
5 |
6 | For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).
7 |
--------------------------------------------------------------------------------
/Restore.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\build.ps1""" -restore %*"
3 | exit /b %ErrorLevel%
4 |
--------------------------------------------------------------------------------
/Test.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\build.ps1""" -test %*"
3 | exit /b %ErrorLevel%
4 |
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | source="${BASH_SOURCE[0]}"
4 |
5 | # resolve $SOURCE until the file is no longer a symlink
6 | while [[ -h $source ]]; do
7 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
8 | source="$(readlink "$source")"
9 |
10 | # if $source was a relative symlink, we need to resolve it relative to the path where the
11 | # symlink file was located
12 | [[ $source != /* ]] && source="$scriptroot/$source"
13 | done
14 |
15 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
16 | "$scriptroot/eng/build.sh" --restore $@
17 |
--------------------------------------------------------------------------------
/documentation/api/defaultprocess.md:
--------------------------------------------------------------------------------
1 | # Default Process
2 |
3 | When using APIs to capture diagnostic artifacts, typically a `pid`, `uid`, or `name` is provided to perform the operation on a specific process. However, these parameters may be omitted if `dotnet monitor` is able to resolve a default process.
4 |
5 | The tool is able to resolve a default process if there is one and only one observable process. If there are no processes or there is more than one process, any API that allows operating on the default process will fail when invoked.
6 |
--------------------------------------------------------------------------------
/documentation/api/livemetrics.md:
--------------------------------------------------------------------------------
1 | # Live Metrics
2 |
3 | | Operation | Description |
4 | |---|---|
5 | | [Live Metrics](livemetrics-get.md) | Captures metrics using the default metric providers. |
6 | | [Live Custom Metrics](livemetrics-custom.md) | Captures metrics using custom metric providers. |
7 |
--------------------------------------------------------------------------------
/documentation/api/trace.md:
--------------------------------------------------------------------------------
1 | # Traces
2 |
3 | The Traces API enables collecting `.nettrace` formatted traces without using a profiler.
4 |
5 | > [!NOTE]
6 | > Process information (IDs, names, environment, etc) may change between invocations of these APIs. Processes may start or stop between API invocations, causing this information to change.
7 |
8 | | Operation | Description |
9 | |---|---|
10 | | [Get Trace](trace-get.md) | Captures a diagnostic trace of a process based on a predefined set of trace profiles. |
11 | | [Get Custom Trace](trace-custom.md) | Captures a diagnostic trace of a process using the given set of event providers specified in the request body. |
12 |
--------------------------------------------------------------------------------
/documentation/compatibility/README.md:
--------------------------------------------------------------------------------
1 | # Breaking Changes
2 |
3 | - [Breaking Changes in 7.0](./7.0/README.md)
4 | - [Breaking Changes in 8.0](./8.0/README.md)
5 | - [Breaking Changes in 9.0](./9.0/README.md)
6 |
--------------------------------------------------------------------------------
/documentation/experimental.md:
--------------------------------------------------------------------------------
1 | # Experimental Features
2 |
3 | Some features are offered as experimental, meaning that they are not supported however they can be enabled to evaluate their current state. These features may or may not ship with full support in future releases and can be redesigned or removed in any future release.
4 |
5 | The following are the current set of experimental features:
6 |
7 | | Name | Description | First Available Version | How to Enable |
8 | |---|---|---|---|
9 | | [Parameter Capturing](./api/parameters.md) | Captures parameters for one or more methods each time they are called. | 8.0 RC 1 | [Documentation](./api/parameters.md#enabling)
10 |
11 |
--------------------------------------------------------------------------------
/documentation/learningPath/architecture.md:
--------------------------------------------------------------------------------
1 | # Architecture
2 |
--------------------------------------------------------------------------------
/documentation/learningPath/basic-usage.md:
--------------------------------------------------------------------------------
1 | # Basic Usage
2 |
3 | Before you start developing for `dotnet-monitor`, it's a good idea to know how the tool works and how to run it. If you've never used `dotnet-monitor` before, you can find a basic tutorial [here](https://www.youtube.com/watch?v=pG0t19bEYJw) that will show you how to use it locally on Windows.
4 |
5 |
--------------------------------------------------------------------------------
/documentation/official-build-instructions.md:
--------------------------------------------------------------------------------
1 | # Official Build Instructions
2 |
3 | > **Warning**: These instructions will only work internally at Microsoft.
4 |
5 | To produce an official build, invoke the [internal pipeline](https://dev.azure.com/dnceng/internal/_build?definitionId=954).
6 |
7 | This signs and publishes the following packages to the [dotnet-tools](https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json) feed:
8 | - dotnet-monitor
9 |
10 | The packages are only published to the feed from builds of the `main` and `release/*` branches.
11 |
12 | The release process is documented at [Release Process](./release-process.md).
13 |
--------------------------------------------------------------------------------
/documentation/openapi.md:
--------------------------------------------------------------------------------
1 | ## OpenAPI documentation
2 |
3 | The OpenAPI definition for the dotnet-monitor API can be found at [openapi.json](openapi.json). This can be used to generate a client stub for calling the API from your own tools.
4 |
5 | Additionally, the document can be accessed from the root route ("/" path) when dotnet-monitor is running. This version of the document includes security scheme information if authentication has been configured.
6 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.0.0.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the official 6.0.0 GA build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Add `netcoreapp3.1` target framework to allow tool to run on .NET Core 3.1 and .NET 5 (#1080).
4 | - Prevent process enumeration from pruning processes that are capturing dumps (#1059)
5 | - Fix metrics URL to respect values from configuration (#1070)
6 | - Validate egress provider before starting egress operation (#1071)
7 | - Fix root route to respond with HTTP 404 instead of HTTP 500 (#1072)
8 |
9 | \*⚠️ **_indicates a breaking change_**
10 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.0.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.0.1 build of the `dotnet-monitor` tool. This release includes:
2 |
3 | - Prevent process enumeration from pruning processes that are capturing traces (#1103)
4 | - Avoid artifact filename collisions by adding millisecond disambiguation (#1180)
5 |
6 | \*⚠️ **_indicates a breaking change_**
7 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.0.2.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.0.2 build of the `dotnet-monitor` tool. This release includes:
2 |
3 | - Ensure dump folder exists before capturing dump (#1216)
4 | - Ensure `config show` command completely writes end of configuration (#1112)
5 | - Allow command line parameters to be overridden by file-based configuration (#1102)
6 | - Allow command line parameters to be overridden by environment variables (#1398)
7 | - Fix `generatekey` command `output` parameter description (#1119)
8 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.1.0.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.1.0 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Load a profiler via a collection rule action (#781)
4 | - Get or Set an environment variable via a collection rule action (#1176)
5 | - Add `MachineJson` option to `--output` parameter for `generatekey` command. This is useful for automating credential provisioning. (#1428)
6 | - Allow for simplified diagnostic port configuration (#1292)
7 | - Ensure `config show` command displays arrays without indices (#1054)
8 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.1.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.1.1 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Add experience survey link (#1601)
4 | - Docker: Add CBL-Mariner 1.0 amd64 image
5 | - Docker: Update Alpine amd64 image from 3.14 to 3.15
6 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.1.2.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.1.2 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Ensure unexpected egress failures complete operations (#1935)
4 | - Prevent process enumeration from pruning processes that are capturing gcdumps (#1933)
5 | - Prevent auth configuration warnings when using `--no-auth` switch (#1851)
6 | - Show warning when using collection rules in `connect` mode (#1852)
7 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.1.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.1.3 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Better exception handling and logging for certain scenarios (#2053)
4 | - Updated Newtonsoft.Json to 13.0.1 (#2065)
5 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.1.4.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.1.4 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Update Azure.Storage.Blobs to 12.13.0 (#2220)
4 | - Update Azure.Storage.Queues to 12.11.0 (#2220)
5 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.2.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.2.1 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Better exception handling and logging for certain scenarios (#2051)
4 | - Updated Newtonsoft.Json to 13.0.1 (#2064)
5 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.2.2.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.2.2 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Delete endpoint on startup (#2183)
4 | - Fixed duplication of metrics (#2177)
5 | - Fixed memory leak in authentication handler (#2172)
6 | - Update Azure.Storage.Blobs to 12.13.0 (#2219)
7 | - Update Azure.Storage.Queues to 12.11.0 (#2219)
8 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.0.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.0 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Add metadata for Azure egress (#2371)
4 | - Support restrictive SAS tokens for Azure egress (#2325, #2394)
5 | - Avoid Kestrel address override warning (#2576)
6 | - Check read permissions for JSON configuration files (#2272)
7 | - Improve `operations` Api to show RuntimeInstanceId and support filtering (#2265, #2360)
8 | - Fixed an issue (#2526) where the `config` command could throw an exception (#2551)
9 | - Fixed an issue where running `config show --show-sources` could incorrectly report `ChainedConfigurationProvider` as the source (#2553)
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.1 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Fixed an issue where AspNet* collection rules could stop functioning after collecting a trace with the Http profile. The fix was made in [dotnet/diagnostics#3425](https://github.com/dotnet/diagnostics/pull/3425). ([#2786](https://github.com/dotnet/dotnet-monitor/pull/2786))
4 | - Handle exceptions when determining additional information about discovered processes. ([#2814](https://github.com/dotnet/dotnet-monitor/pull/2814))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.10.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.10 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.2.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.2 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Produce RID-specific, TFM-specific, framework dependent archives ([#3521](https://github.com/dotnet/dotnet-monitor/pull/3521))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.3 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Prevent overreporting of the collection rule trigger type in console output ([#4892](https://github.com/dotnet/dotnet-monitor/pull/4892))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.4.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.4 build of the `dotnet monitor` tool. This release includes:
2 | - Updated dependencies
3 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.5.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.5 build of the `dotnet monitor` tool. This release includes:
2 | - Updated dependencies
3 |
4 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
5 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.6.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.6 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - ⚠️ Add issuer and expiration validation for API keys ([#6491](https://github.com/dotnet/dotnet-monitor/pull/6491))
4 |
5 | \*⚠️ **_indicates a breaking change_**
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.7.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.7 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Fix the error log message shown when an action could not be registered. ([#6700](https://github.com/dotnet/dotnet-monitor/pull/6700))
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.8.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.8 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v6.3.9.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 6.3.9 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.0.0-preview.2.22154.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview of the `dotnet monitor` tool. This release includes:
2 |
3 | - Allow for pushing a message to a queue when writing to Azure egress (#163)
4 | - Allow for simplified process filter configuration (#636)
5 | - Allow `config show` command to list configuration sources (#277)
6 | - ⚠️ Docker: Tool arguments moved to CMD instruction (#1279)
7 |
8 | \*⚠️ **_indicates a breaking change_**
9 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.0.0-preview.3.22204.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview of the `dotnet monitor` tool. This release includes:
2 |
3 | - Add experience survey link (#1601)
4 | - Docker: Add Alpine 3.15 arm64 image
5 | - Docker: Add CBL-Mariner 2.0 amd64 image
6 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.0.0-preview.4.22227.4.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview of the `dotnet monitor` tool. This release includes:
2 |
3 | - Added Collection Rule Defaults (#1595)
4 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.0.0-preview.6.22330.7.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview of the `dotnet monitor` tool. This release includes:
2 |
3 | - Added HTTP route `/collectionrules` to inspect collection rule state (#1829)
4 | - Allow specifying JSON configuration file via command line (#1990)
5 | - Better exception handling and logging for certain scenarios (#2022)
6 | - Updated Newtonsoft.Json to 13.0.1 (#2055)
7 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.0.0-preview.7.22401.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview of the `dotnet monitor` tool. This release includes:
2 |
3 | - Delete endpoint on startup (#2178)
4 | - Fixed memory leak in authentication handler (#2165)
5 | - Fixed duplication of metrics (#2149)
6 | - Add `CollectLiveMetrics` collection rule action (#2119)
7 | - Update Azure.Storage.Blobs to 12.13.0 (#2218)
8 | - Update Azure.Storage.Queues to 12.11.0 (#2218)
9 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.0.0-preview.8.22457.4.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview of the `dotnet monitor` tool. This release includes:
2 |
3 | - Add metadata for Azure egress (#2290)
4 | - Support restrictive SAS tokens for Azure egress (#2322)
5 | - Improve `operations` Api to show RuntimeInstanceId and support filtering (#2136, #2312)
6 | - Check read permissions for JSON configuration files (#2232)
7 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.0.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.0.1 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Handle exceptions when determining additional information about discovered processes. ([#2813](https://github.com/dotnet/dotnet-monitor/pull/2813))
4 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.0.2.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.0.2 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Produce RID-specific, TFM-specific, framework dependent archives ([#3520](https://github.com/dotnet/dotnet-monitor/pull/3520))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.1.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.1.1 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Represent System.Diagnostics.Metrics Counters as Gauges in Prometheus Exposition Format. ([#4101](https://github.com/dotnet/dotnet-monitor/pull/4101))
4 | - Fixes issue where trace operations with an egress provider and rundown on Linux would cause dotnet-monitor to lose connectivity with the target application. ([#3960](https://github.com/dotnet/dotnet-monitor/pull/3960))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.1.2.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.1.2 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Represent System.Diagnostics.Metrics Counters as Gauges in Prometheus Exposition Format. ([#4101](https://github.com/dotnet/dotnet-monitor/pull/4101))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.1.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.1.3 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Prevent overreporting of the collection rule trigger type in console output ([#4891](https://github.com/dotnet/dotnet-monitor/pull/4891))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.2.0.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.2.0 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - ⚠️ Disable azure developer cli credentials ([#4479](https://github.com/dotnet/dotnet-monitor/pull/4479))
4 | - Enable workflow identity ([#4473](https://github.com/dotnet/dotnet-monitor/pull/4473))
5 | - Allow per provider interval specification ([#4144](https://github.com/dotnet/dotnet-monitor/pull/4144))
6 |
7 | \*⚠️ **_indicates a breaking change_**
8 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.2.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.2.1 build of the `dotnet monitor` tool. This release includes:
2 | - Updated dependencies
3 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.2.2.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.2.2 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Prevent overreporting of the collection rule trigger type in console output ([#4890](https://github.com/dotnet/dotnet-monitor/pull/4890))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.2.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.2.3 build of the `dotnet monitor` tool. This release includes:
2 | - Updated dependencies
3 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.3.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.3.1 build of the `dotnet monitor` tool. This release includes:
2 | - Updated dependencies
3 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.3.2.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.3.2 build of the `dotnet monitor` tool. This release includes:
2 | - Updated dependencies
3 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.3.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.3.3 build of the `dotnet monitor` tool. This release includes:
2 | - Updated dependencies
3 |
4 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
5 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v7.3.4.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 7.3.4 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - ⚠️ Replace SwaggerUI and SwaggerScope option with OpenAPI document ([#6550](https://github.com/dotnet/dotnet-monitor/pull/6550))
4 | - ⚠️ Add issuer and expiration validation for API keys ([#6490](https://github.com/dotnet/dotnet-monitor/pull/6490))
5 |
6 | \*⚠️ **_indicates a breaking change_**
7 |
8 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.0-preview.2.23155.4.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - Add substitution tokens for other process info ([#3759](https://github.com/dotnet/dotnet-monitor/pull/3759))
4 | - Add Azure Active Directory authentication support. For more details see our [Azure AD documentation](https://github.com/dotnet/dotnet-monitor/blob/main/documentation/authentication.md#azure-active-directory-authentication). ([#3755](https://github.com/dotnet/dotnet-monitor/pull/3755))
5 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.0-preview.3.23180.9.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - Represent System.Diagnostics.Metrics Counters as Gauges in Prometheus Exposition Format. ([#4098](https://github.com/dotnet/dotnet-monitor/pull/4098))
4 | - Fixes issue where trace operations with an egress provider and rundown on Linux would cause dotnet-monitor to lose connectivity with the target application. ([#3960](https://github.com/dotnet/dotnet-monitor/pull/3960))
5 | - Added EventMeter Trigger for Collection Rules. ([#3812](https://github.com/dotnet/dotnet-monitor/pull/3812))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.0-preview.4.23260.4.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - Refactor AzureBlobStorage and S3Storage egress into extensions ([#4133](https://github.com/dotnet/dotnet-monitor/pull/4133))
4 | - ⚠️ Disable azure developer cli credentials ([#4350](https://github.com/dotnet/dotnet-monitor/pull/4350))
5 | - Enable workflow identity ([#4348](https://github.com/dotnet/dotnet-monitor/pull/4348))
6 |
7 | \*⚠️ **_indicates a breaking change_**
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.0-preview.5.23307.11.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 | - Updated dependencies
3 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.0-preview.6.23354.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - 🔬 Enable call stacks feature to work with processes configured with the `nosuspend` option on their diagnostic port. ([#4733](https://github.com/dotnet/dotnet-monitor/pull/4733))
4 | - Enable UpDownCounter For Dotnet-Monitor ([#4310](https://github.com/dotnet/dotnet-monitor/pull/4310))
5 |
6 | \*🔬 **_indicates an experimental feature_**
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.0-preview.7.23402.4.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - Add first chance exceptions history feature and `/exceptions` route. ([#4901](https://github.com/dotnet/dotnet-monitor/pull/4901))
4 | - Prevent overreporting of the collection rule trigger type in console output ([#4883](https://github.com/dotnet/dotnet-monitor/pull/4883))
5 | - Enable operation tracking for trigger actions ([#4826](https://github.com/dotnet/dotnet-monitor/pull/4826))
6 | - Adds new `--exit-on-stdin-disconnect` command line switch to `collect` command ([#4792](https://github.com/dotnet/dotnet-monitor/pull/4792))
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 8.0.1 build of the `dotnet monitor` tool. This release includes:
2 | - Updated dependencies
3 | - ⚠️ Simplify Types in Plain Text Representation ([#5882](https://github.com/dotnet/dotnet-monitor/pull/5882))
4 |
5 | \*⚠️ **_indicates a breaking change_** \
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
8 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 8.0.3 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Fix an issue where operations could finish, or fail, but their state would be still be reported as `Starting` ([issue #6683](https://github.com/dotnet/dotnet-monitor/issues/6683)). ([#6703](https://github.com/dotnet/dotnet-monitor/pull/6703))
4 | - Fix the error log message shown when an action could not be registered. ([#6701](https://github.com/dotnet/dotnet-monitor/pull/6701))
5 |
6 |
7 |
8 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.4.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 8.0.4 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.5.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 8.0.5 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Fixed an issue that could sometimes result in exceptions having incomplete stack information reported in exception history. ([#7395](https://github.com/dotnet/dotnet-monitor/pull/7395))
4 | - Fixed an issue that could sometimes result in exceptions not being reported in exception history. ([#7302](https://github.com/dotnet/dotnet-monitor/pull/7302))
5 |
6 |
7 |
8 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.6.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 8.0.6 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Use the `DOTNET` prefix when detecting environment variables and prefer it over the `COMPlus` prefix. ([#7478](https://github.com/dotnet/dotnet-monitor/pull/7478))
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.7.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 8.0.7 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Fixed bug where `Histogram/UpDownCounter` were not correctly treated as meters. ([#7755](https://github.com/dotnet/dotnet-monitor/pull/7755))
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.0.8.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 8.0.8 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v8.1.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 8.1.1 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
8 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.0.0-preview.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - 🔬 Support capturing the following parameter types: generics, tuples, and nullable value types ([#5812](https://github.com/dotnet/dotnet-monitor/pull/5812))
4 | - Add Support for Meter Tags and Instrument Tags for System Diagnostics Metrics ([#5802](https://github.com/dotnet/dotnet-monitor/pull/5802))
5 |
6 | \*🔬 **_indicates an experimental feature_**
7 |
8 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
9 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.0.0-preview.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.0.0-preview.5.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - Fix an issue where operations could finish, or fail, but their state would be still be reported as `Starting` ([issue #6683](https://github.com/dotnet/dotnet-monitor/issues/6683)). ([#6686](https://github.com/dotnet/dotnet-monitor/pull/6686))
4 | - Fix the error log message shown when an action could not be registered. ([#6665](https://github.com/dotnet/dotnet-monitor/pull/6665))
5 |
6 |
7 |
8 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.0.0-preview.6.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - CallStackFrame JSON results now include method token and module version ID. ([#6839](https://github.com/dotnet/dotnet-monitor/pull/6839))
4 | - The S3 egress provider now provides the ability to use KMS encryption keys to encrypt artifacts placed in S3 buckets ([#6831](https://github.com/dotnet/dotnet-monitor/pull/6831))
5 |
6 |
7 |
8 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
9 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.0.0-preview.7.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - Adds support for overriding the artifact name for `Collect*` actions and adds new placeholders for `HostName` and `UnixTime`. ([#6675](https://github.com/dotnet/dotnet-monitor/pull/6675))
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.0.0-rc.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the official 9.0.0 Release Candidate of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.0.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 9.0.1 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Fixed an issue with custom tags not showing up for `Histogram` and `UpDownCounter` meters ([#7745](https://github.com/dotnet/dotnet-monitor/pull/7745))
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.0.2.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 9.0.2 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Fix an issue where `/stacks` route can fail to collect call stacks after `/parameters` route is used ([#7918](https://github.com/dotnet/dotnet-monitor/pull/7918))
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
8 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.0.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the 9.0.3 build of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
8 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.1.0-preview.1.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - Updated dependencies
4 |
5 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
6 |
--------------------------------------------------------------------------------
/documentation/releaseNotes/releaseNotes.v9.1.0-preview.3.md:
--------------------------------------------------------------------------------
1 | Today we are releasing the next official preview version of the `dotnet monitor` tool. This release includes:
2 |
3 | - Added support for resetting in process features when dotnet-monitor is restarted. ([#8154](https://github.com/dotnet/dotnet-monitor/pull/8154))
4 |
5 |
6 |
7 | If you would like to provide additional feedback to the team [please fill out this survey](https://aka.ms/dotnet-monitor-survey?src=rn).
--------------------------------------------------------------------------------
/documentation/videos-and-tutorials.md:
--------------------------------------------------------------------------------
1 | ### Dotnet Monitor Fundamentals
2 | [](https://www.youtube.com/watch?v=pG0t19bEYJw)
3 |
4 | ### Dotnet Monitor AKS Tutorial
5 | [](https://www.youtube.com/watch?v=3nzZO34nUFQ)
6 |
7 | ### Inspecting Application Metrics with Dotnet Monitor
8 | [](https://www.youtube.com/watch?v=hbgPvjTJSLY)
9 |
--------------------------------------------------------------------------------
/eng/Analyzers.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/eng/Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
7 |
9 |
11 |
12 |
--------------------------------------------------------------------------------
/eng/Common.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net9.0
5 | $(LatestTargetFramework)
6 | $(ArtifactsDir)bundles\$(Configuration)\NonShipping\
7 |
8 |
--------------------------------------------------------------------------------
/eng/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/eng/Directory.Build.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/eng/Helix.CrossTarget.targets:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | <_TargetFrameworks Remove="@(_TargetFrameworks)" />
6 | <_TargetFrameworks Include="$(TargetFrameworks)" />
7 |
8 |
12 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/eng/Helix.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/eng/Helix.targets:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/eng/PoliCheckExclusions.xml:
--------------------------------------------------------------------------------
1 |
2 | .DOTNET
3 | CONFIGURECOMPILER.CMAKE|COR.H|PAL.H
4 |
--------------------------------------------------------------------------------
/eng/PublishProjects.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(SharedPublishProjectProperties);UseAppHost=true
5 | $(SharedPublishProjectProperties);PackAsTool=false
6 |
7 |
8 |
9 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/eng/branch-vscode-config:
--------------------------------------------------------------------------------
1 | TFM=net8.0
--------------------------------------------------------------------------------
/eng/cibuild.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0build.ps1""" -restore -ci -prepareMachine %*"
3 | exit /b %ErrorLevel%
4 |
--------------------------------------------------------------------------------
/eng/cipacksignpublish.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | setlocal
3 |
4 | set "_commonArgs=-restore -ci -prepareMachine -verbosity minimal -configuration Release"
5 | set "_logDir=%~dp0..\artifacts\log\Release\"
6 |
7 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0common\Build.ps1""" %_commonArgs% -pack -sign -publish /p:NoBuild=true -noBl /bl:'%_logDir%PackSignPublish.binlog' %*"
8 | exit /b %ERRORLEVEL%
9 |
--------------------------------------------------------------------------------
/eng/citest.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0build.ps1""" -ci %*"
3 | exit /b %ErrorLevel%
4 |
--------------------------------------------------------------------------------
/eng/common/BuildConfiguration/build-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "RetryCountLimit": 1,
3 | "RetryByAnyError": false
4 | }
5 |
--------------------------------------------------------------------------------
/eng/common/CIBuild.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*"
--------------------------------------------------------------------------------
/eng/common/PSScriptAnalyzerSettings.psd1:
--------------------------------------------------------------------------------
1 | @{
2 | IncludeRules=@('PSAvoidUsingCmdletAliases',
3 | 'PSAvoidUsingWMICmdlet',
4 | 'PSAvoidUsingPositionalParameters',
5 | 'PSAvoidUsingInvokeExpression',
6 | 'PSUseDeclaredVarsMoreThanAssignments',
7 | 'PSUseCmdletCorrectly',
8 | 'PSStandardDSCFunctionsInResource',
9 | 'PSUseIdenticalMandatoryParametersForDSC',
10 | 'PSUseIdenticalParametersForDSC')
11 | }
--------------------------------------------------------------------------------
/eng/common/build.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0build.ps1""" %*"
3 | exit /b %ErrorLevel%
4 |
--------------------------------------------------------------------------------
/eng/common/cibuild.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | source="${BASH_SOURCE[0]}"
4 |
5 | # resolve $SOURCE until the file is no longer a symlink
6 | while [[ -h $source ]]; do
7 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
8 | source="$(readlink "$source")"
9 |
10 | # if $source was a relative symlink, we need to resolve it relative to the path where
11 | # the symlink file was located
12 | [[ $source != /* ]] && source="$scriptroot/$source"
13 | done
14 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
15 |
16 | . "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@
--------------------------------------------------------------------------------
/eng/common/core-templates/variables/pool-providers.yml:
--------------------------------------------------------------------------------
1 | parameters:
2 | is1ESPipeline: false
3 |
4 | variables:
5 | - ${{ if eq(parameters.is1ESPipeline, 'true') }}:
6 | - template: /eng/common/templates-official/variables/pool-providers.yml
7 | - ${{ else }}:
8 | - template: /eng/common/templates/variables/pool-providers.yml
--------------------------------------------------------------------------------
/eng/common/cross/arm/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf32-littlearm)
8 | -GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-armhf.so.3 ) )
10 |
--------------------------------------------------------------------------------
/eng/common/cross/arm64/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib64/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib64/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf64-littleaarch64)
8 | -GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-aarch64.so.1 ) )
10 |
--------------------------------------------------------------------------------
/eng/common/cross/armel/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf32-littlearm)
8 | -GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.3 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux.so.3 ) )
10 |
--------------------------------------------------------------------------------
/eng/common/cross/riscv64/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib64/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib64/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf64-littleriscv)
8 | -GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-riscv64-lp64d.so.1 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-riscv64-lp64d.so.1 ) )
10 |
--------------------------------------------------------------------------------
/eng/common/cross/x86/tizen/tizen.patch:
--------------------------------------------------------------------------------
1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
2 | --- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900
3 | +++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900
4 | @@ -2,4 +2,4 @@
5 | Use the shared library, but some functions are only in
6 | the static library, so try that secondarily. */
7 | OUTPUT_FORMAT(elf32-i386)
8 | -GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.2 ) )
9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux.so.2 ) )
10 |
--------------------------------------------------------------------------------
/eng/common/dotnet-install.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0dotnet-install.ps1""" %*"
--------------------------------------------------------------------------------
/eng/common/enable-cross-org-publishing.ps1:
--------------------------------------------------------------------------------
1 | param(
2 | [string] $token
3 | )
4 |
5 |
6 | . $PSScriptRoot\pipeline-logging-functions.ps1
7 |
8 | # Write-PipelineSetVariable will no-op if a variable named $ci is not defined
9 | # Since this script is only ever called in AzDO builds, just universally set it
10 | $ci = $true
11 |
12 | Write-PipelineSetVariable -Name 'VSS_NUGET_ACCESSTOKEN' -Value $token -IsMultiJobVariable $false
13 | Write-PipelineSetVariable -Name 'VSS_NUGET_URI_PREFIXES' -Value 'https://dnceng.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/dnceng/;https://devdiv.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/devdiv/' -IsMultiJobVariable $false
14 |
--------------------------------------------------------------------------------
/eng/common/init-tools-native.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | powershell -NoProfile -NoLogo -ExecutionPolicy ByPass -command "& """%~dp0init-tools-native.ps1""" %*"
3 | exit /b %ErrorLevel%
--------------------------------------------------------------------------------
/eng/common/internal/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | false
6 | false
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/eng/common/internal/NuGet.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/eng/common/sdl/NuGet.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/eng/common/sdl/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/eng/common/templates-official/job/onelocbuild.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/onelocbuild.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/job/publish-build-assets.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/publish-build-assets.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/job/source-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/source-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/job/source-index-stage1.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/source-index-stage1.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/jobs/codeql-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/codeql-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/jobs/jobs.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/jobs.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/jobs/source-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/source-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/post-build/common-variables.yml:
--------------------------------------------------------------------------------
1 | variables:
2 | - template: /eng/common/core-templates/post-build/common-variables.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: true
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/post-build/post-build.yml:
--------------------------------------------------------------------------------
1 | stages:
2 | - template: /eng/common/core-templates/post-build/post-build.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: true
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
9 |
--------------------------------------------------------------------------------
/eng/common/templates-official/post-build/setup-maestro-vars.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: true
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/component-governance.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/component-governance.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/enable-internal-runtimes.yml:
--------------------------------------------------------------------------------
1 | # Obtains internal runtime download credentials and populates the 'dotnetbuilds-internal-container-read-token-base64'
2 | # variable with the base64-encoded SAS token, by default
3 | steps:
4 | - template: /eng/common/core-templates/steps/enable-internal-runtimes.yml
5 | parameters:
6 | is1ESPipeline: true
7 |
8 | ${{ each parameter in parameters }}:
9 | ${{ parameter.key }}: ${{ parameter.value }}
10 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/enable-internal-sources.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/enable-internal-sources.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/generate-sbom.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/generate-sbom.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/get-delegation-sas.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/get-delegation-sas.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/get-federated-access-token.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/get-federated-access-token.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/publish-logs.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/publish-logs.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/retain-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/retain-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/send-to-helix.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/send-to-helix.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/steps/source-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/source-build.yml
3 | parameters:
4 | is1ESPipeline: true
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates-official/variables/sdl-variables.yml:
--------------------------------------------------------------------------------
1 | variables:
2 | # The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
3 | # sync with the packages.config file.
4 | - name: DefaultGuardianVersion
5 | value: 0.109.0
6 | - name: GuardianPackagesConfigFile
7 | value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config
--------------------------------------------------------------------------------
/eng/common/templates/job/onelocbuild.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/onelocbuild.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/job/publish-build-assets.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/publish-build-assets.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/job/source-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/source-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/job/source-index-stage1.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/job/source-index-stage1.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/jobs/codeql-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/codeql-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/jobs/jobs.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/jobs.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/jobs/source-build.yml:
--------------------------------------------------------------------------------
1 | jobs:
2 | - template: /eng/common/core-templates/jobs/source-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/post-build/common-variables.yml:
--------------------------------------------------------------------------------
1 | variables:
2 | - template: /eng/common/core-templates/post-build/common-variables.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: false
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/post-build/post-build.yml:
--------------------------------------------------------------------------------
1 | stages:
2 | - template: /eng/common/core-templates/post-build/post-build.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: false
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/post-build/setup-maestro-vars.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
3 | parameters:
4 | # Specifies whether to use 1ES
5 | is1ESPipeline: false
6 |
7 | ${{ each parameter in parameters }}:
8 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/steps/component-governance.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/component-governance.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/enable-internal-runtimes.yml:
--------------------------------------------------------------------------------
1 | # Obtains internal runtime download credentials and populates the 'dotnetbuilds-internal-container-read-token-base64'
2 | # variable with the base64-encoded SAS token, by default
3 |
4 | steps:
5 | - template: /eng/common/core-templates/steps/enable-internal-runtimes.yml
6 | parameters:
7 | is1ESPipeline: false
8 |
9 | ${{ each parameter in parameters }}:
10 | ${{ parameter.key }}: ${{ parameter.value }}
11 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/enable-internal-sources.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/enable-internal-sources.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/steps/generate-sbom.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/generate-sbom.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/get-delegation-sas.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/get-delegation-sas.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/get-federated-access-token.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/get-federated-access-token.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
--------------------------------------------------------------------------------
/eng/common/templates/steps/publish-logs.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/publish-logs.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/retain-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/retain-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/send-to-helix.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/send-to-helix.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/common/templates/steps/source-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: /eng/common/core-templates/steps/source-build.yml
3 | parameters:
4 | is1ESPipeline: false
5 |
6 | ${{ each parameter in parameters }}:
7 | ${{ parameter.key }}: ${{ parameter.value }}
8 |
--------------------------------------------------------------------------------
/eng/configure-toolset.ps1:
--------------------------------------------------------------------------------
1 | # We depend on a local cli for a number of our buildtool
2 | # commands like init-tools so for now we need to disable
3 | # using the globally installed dotnet
4 |
5 | $script:useInstalledDotNetCli = $false
6 |
7 | # Always use the local repo packages directory instead of
8 | # the user's NuGet cache
9 | #$script:useGlobalNuGetCache = $false
10 |
11 | # Working around issue https://github.com/dotnet/arcade/issues/2673
12 | $script:DisableNativeToolsetInstalls = $true
13 |
--------------------------------------------------------------------------------
/eng/configure-toolset.sh:
--------------------------------------------------------------------------------
1 | # We depend on a local cli for a number of our buildtool
2 | # commands like init-tools so for now we need to disable
3 | # using the globally installed dotnet
4 |
5 | use_installed_dotnet_cli=false
6 |
7 | # Always use the local repo packages directory instead of
8 | # the user's NuGet cache
9 | #use_global_nuget_cache=false
10 |
11 | # Working around issue https://github.com/dotnet/arcade/issues/2673
12 | DisableNativeToolsetInstalls=true
13 |
--------------------------------------------------------------------------------
/eng/dependabot/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 | false
10 | false
11 |
12 |
13 |
--------------------------------------------------------------------------------
/eng/dependabot/Versions.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/eng/dependabot/global.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/eng/dependabot/independent/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/eng/dependabot/independent/dependabot.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net9.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/eng/dependabot/net8.0/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/eng/dependabot/net8.0/dependabot.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/eng/dependabot/net9.0/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/eng/dependabot/net9.0/dependabot.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net9.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/eng/dependabot/nuget.org/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/eng/dependabot/nuget.org/NuGet.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/eng/dependabot/nuget.org/Versions.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 9.0.621003
6 |
7 |
8 |
--------------------------------------------------------------------------------
/eng/dependabot/nuget.org/dependabot.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net9.0
5 |
6 |
7 |
--------------------------------------------------------------------------------
/eng/helix/payload/installazurite.cmd:
--------------------------------------------------------------------------------
1 | call npm install -g azurite
2 | if %ERRORLEVEL% neq 0 exit %ERRORLEVEL%
3 | set TEST_AZURITE_MUST_INITIALIZE=1
4 |
--------------------------------------------------------------------------------
/eng/helix/payload/installazurite.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | helix_npm install -g azurite || exit 1
4 | export TEST_AZURITE_MUST_INITIALIZE=1
5 |
--------------------------------------------------------------------------------
/eng/helix/payload/setupnode.cmd:
--------------------------------------------------------------------------------
1 | set PATH=%HELIX_CORRELATION_PAYLOAD%\nodejs;%PATH%
2 | call npm config set prefix %HELIX_WORKITEM_ROOT%\.npm
3 | if %ERRORLEVEL% neq 0 exit %ERRORLEVEL%
4 | set PATH=%HELIX_WORKITEM_ROOT%\.npm;%PATH%
5 |
--------------------------------------------------------------------------------
/eng/native/configurepaths.cmake:
--------------------------------------------------------------------------------
1 | get_filename_component(CLR_REPO_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../.. ABSOLUTE)
2 | set(CLR_ENG_NATIVE_DIR ${CMAKE_CURRENT_LIST_DIR})
3 | get_filename_component(CLR_SRC_NATIVE_DIR ${CMAKE_CURRENT_LIST_DIR}/../../src/native ABSOLUTE)
4 | set (CLR_ARTIFACTS_OBJ_DIR "${CLR_REPO_ROOT_DIR}/artifacts/obj")
5 | set (CLR_SOURCELINK_FILE_PATH "${CLR_ARTIFACTS_OBJ_DIR}/native.sourcelink.json")
6 | set(VERSION_HEADER_PATH "${CLR_ARTIFACTS_OBJ_DIR}/_version.h")
7 | set(VERSION_FILE_PATH "${CLR_ARTIFACTS_OBJ_DIR}/_version.c")
8 | set(VERSION_FILE_RC_PATH "${CLR_ARTIFACTS_OBJ_DIR}/NativeVersion.rc")
9 | set(RUNTIME_VERSION_HEADER_PATH "${CLR_ARTIFACTS_OBJ_DIR}/runtime_version.h")
10 |
--------------------------------------------------------------------------------
/eng/native/generateexportedsymbols.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | saved=("$@")
4 | while test $# -gt 0; do
5 | case "$1" in
6 | --help|-h)
7 | printf "Usage:\ngenerateexportedsymbols.sh \n"
8 | exit 1;;
9 | esac
10 | shift
11 | done
12 | set -- "${saved[@]}"
13 |
14 | while read -r line; do
15 | # Skip empty lines and comment lines starting with semicolon
16 | if [[ "$line" =~ ^\;.*$|^[[:space:]]*$ ]]; then
17 | continue
18 | fi
19 |
20 | # Remove the CR character in case the sources are mapped from
21 | # a Windows share and contain CRLF line endings
22 | line="${line//$'\r'/}"
23 |
24 | printf "_%s\n" "${line//#/}"
25 | done < "$1"
26 |
--------------------------------------------------------------------------------
/eng/native/override/configurecompiler.cmake:
--------------------------------------------------------------------------------
1 | include(${CLR_ENG_NATIVE_DIR}/configurecompiler.cmake)
2 |
3 | if (MSVC)
4 | # Debug build specific flags
5 | add_linker_flag(/INCREMENTAL:NO DEBUG) # prevent "warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:REF' specification"
6 | add_linker_flag(/OPT:REF DEBUG)
7 | add_linker_flag(/OPT:NOICF DEBUG)
8 |
9 | add_compile_options(/sdl)
10 | add_compile_options(/Qspectre)
11 | endif(MSVC)
12 |
--------------------------------------------------------------------------------
/eng/native/override/readme.txt:
--------------------------------------------------------------------------------
1 | The files in this directory provide native build support specifically for the dotnet-monitor repo. They may augment or override the behavior of the native build support that is copied from dotnet/runtime.
--------------------------------------------------------------------------------
/eng/native/version/_version.c:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | static char sccsid[] __attribute__((used)) = "@(#)No version information produced";
5 |
--------------------------------------------------------------------------------
/eng/native/version/copy_version_files.cmd:
--------------------------------------------------------------------------------
1 | @if not defined _echo @echo off
2 | setlocal EnableDelayedExpansion EnableExtensions
3 |
4 | set "__VersionFolder=%~dp0"
5 | set "__RepoRoot=%~dp0..\..\.."
6 | :: normalize
7 | for %%i in ("%__RepoRoot%") do set "__RepoRoot=%%~fi"
8 | set "__artifactsObjDir=%__RepoRoot%\artifacts\obj"
9 |
10 | for /r "%__VersionFolder%" %%a in (*.h *.rc) do (
11 | if not exist "%__artifactsObjDir%\%%~nxa" (
12 | copy "%%a" "%__artifactsObjDir%"
13 | )
14 | )
15 |
--------------------------------------------------------------------------------
/eng/native/version/runtime_version.h:
--------------------------------------------------------------------------------
1 | #define RuntimeAssemblyMajorVersion 0
2 | #define RuntimeAssemblyMinorVersion 0
3 | #define RuntimeFileMajorVersion 0
4 | #define RuntimeFileMinorVersion 0
5 | #define RuntimeFileBuildVersion 0
6 | #define RuntimeFileRevisionVersion 0
7 | #define RuntimeProductMajorVersion 0
8 | #define RuntimeProductMinorVersion 0
9 | #define RuntimeProductPatchVersion 0
10 | #define RuntimeProductVersion 0.0.0-dev
11 |
--------------------------------------------------------------------------------
/eng/release/DiagnosticsReleaseTool/Core/FileMapping.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace ReleaseTool.Core
5 | {
6 | public struct FileMapping
7 | {
8 | public FileMapping(string localSourcePath, string relativeOutputPath)
9 | {
10 | LocalSourcePath = localSourcePath;
11 | RelativeOutputPath = relativeOutputPath;
12 | }
13 |
14 | public string LocalSourcePath { get; }
15 |
16 | public string RelativeOutputPath { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/eng/release/DiagnosticsReleaseTool/Core/ILayoutWorker.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 | using System.IO;
6 | using System.Threading;
7 | using System.Threading.Tasks;
8 |
9 | namespace ReleaseTool.Core
10 | {
11 | public interface ILayoutWorker : IDisposable
12 | {
13 | ValueTask HandleFileAsync(FileInfo file, CancellationToken ct);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/eng/release/DiagnosticsReleaseTool/Core/IManifestGenerator.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 | using System.Collections.Generic;
6 |
7 | namespace ReleaseTool.Core
8 | {
9 | public interface IManifestGenerator : IDisposable
10 | {
11 | System.IO.Stream GenerateManifest(IEnumerable filesToRelease);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/eng/release/DiagnosticsReleaseTool/Core/IPublisher.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 | using System.Threading;
6 | using System.Threading.Tasks;
7 |
8 | namespace ReleaseTool.Core
9 | {
10 | public interface IPublisher : IDisposable
11 | {
12 | Task PublishFileAsync(FileMapping fileData, CancellationToken ct);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/eng/release/DiagnosticsReleaseTool/Core/IReleaseVerifier.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 | using System.Collections.Generic;
6 |
7 | namespace ReleaseTool.Core
8 | {
9 | public interface IReleaseVerifier : IDisposable
10 | {
11 | bool VerifyFiles(IEnumerable filestoRelease);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/eng/release/DiagnosticsReleaseTool/logging.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "System": "None",
6 | "Microsoft": "None"
7 | },
8 | "Console":
9 | {
10 | "IncludeScopes": "true",
11 | "TimestampFormat": "[HH:mm:ss] ",
12 | "LogToStandardErrorThreshold": "Warning",
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/eng/release/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/eng/release/Directory.Build.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/eng/release/Scripts/SetTaskVariable.ps1:
--------------------------------------------------------------------------------
1 | param(
2 | [Parameter(Mandatory=$true)][string] $Name,
3 | [Parameter(Mandatory=$false)][string] $Value
4 | )
5 |
6 | $ErrorActionPreference = 'Stop'
7 | $VerbosePreference = 'Continue'
8 | Set-StrictMode -Version 2.0
9 |
10 | Write-Host "##vso[task.setvariable variable=$Name]$Value"
--------------------------------------------------------------------------------
/eng/release/Scripts/UpdateShippedBranch.ps1:
--------------------------------------------------------------------------------
1 | param(
2 | [Parameter(Mandatory=$true)][string] $ReleaseVersion,
3 | [Parameter(Mandatory=$true)][string] $ReleaseCommit
4 | )
5 |
6 | $ErrorActionPreference = 'Stop'
7 | Set-StrictMode -Version 2.0
8 |
9 |
10 | if ($ReleaseVersion -notmatch '^(?v[0-9]+\.[0-9]+)\.+') {
11 | Write-Host "Error: unexpected release version: $ReleaseVersion"
12 | exit 1
13 | }
14 |
15 | $majorMinorVersion = $Matches.majorMinorVersion
16 | $branchName = "shipped/$majorMinorVersion"
17 |
18 | git push --force origin "$ReleaseCommit`:refs/heads/$branchName"
19 |
--------------------------------------------------------------------------------
/eng/release/tool-list.json:
--------------------------------------------------------------------------------
1 | {
2 | "NugetAssets": {
3 | "AssetList":[
4 | "dotnet-monitor"
5 | ]
6 | }
7 | }
--------------------------------------------------------------------------------
/eng/xunit.runner.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json",
3 | "parallelizeAssembly": false,
4 | "parallelizeTestCollections": false
5 | }
--------------------------------------------------------------------------------
/restore.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | source="${BASH_SOURCE[0]}"
4 |
5 | # resolve $SOURCE until the file is no longer a symlink
6 | while [[ -h $source ]]; do
7 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
8 | source="$(readlink "$source")"
9 |
10 | # if $source was a relative symlink, we need to resolve it relative to the path where the
11 | # symlink file was located
12 | [[ $source != /* ]] && source="$scriptroot/$source"
13 | done
14 |
15 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
16 | "$scriptroot/eng/common/build.sh" --restore $@
17 |
--------------------------------------------------------------------------------
/samples/AKS_Tutorial/egressmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: dotnet-monitor-egress
5 | data:
6 | Egress__FileSystem__monitorFile__directoryPath: /diag
7 | Egress__AzureBlobStorage__monitorBlob__accountUri: "https://exampleaccount.blob.core.windows.net"
8 | Egress__AzureBlobStorage__monitorBlob__containerName: "dotnet-monitor"
9 | Egress__AzureBlobStorage__monitorBlob__blobPrefix: "artifacts"
10 | Egress__AzureBlobStorage__monitorBlob__managedIdentityClientId: "ffffffff-ffff-ffff-ffff-ffffffffffff"
11 |
--------------------------------------------------------------------------------
/samples/Grafana/grafana-import-dashboard-name-folder-id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/dotnet-monitor/98db59119412bb4e937d02b512a2db996e4f1e28/samples/Grafana/grafana-import-dashboard-name-folder-id.png
--------------------------------------------------------------------------------
/samples/Grafana/grafana-import-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dotnet/dotnet-monitor/98db59119412bb4e937d02b512a2db996e4f1e28/samples/Grafana/grafana-import-dashboard.png
--------------------------------------------------------------------------------
/src/Extensions/AzureBlobStorage/Constants.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.AzureBlobStorage
5 | {
6 | internal static class Constants
7 | {
8 | public const string AzureBlobStorageProviderName = "AzureBlobStorage";
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Extensions/AzureBlobStorage/extension.json:
--------------------------------------------------------------------------------
1 | {
2 | "Name": "AzureBlobStorage",
3 | "AssemblyFileName": "dotnet-monitor-egress-azureblobstorage",
4 | "Modes": ["Validate"]
5 | }
6 |
--------------------------------------------------------------------------------
/src/Extensions/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Exe
6 | $(DefaultRuntimeIdentifiers)
7 | true
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/Extensions/S3Storage/Constants.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Extension.S3Storage
5 | {
6 | internal static class Constants
7 | {
8 | public const string S3StorageProviderName = "S3Storage";
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Extensions/S3Storage/extension.json:
--------------------------------------------------------------------------------
1 | {
2 | "Name": "S3Storage",
3 | "AssemblyFileName": "dotnet-monitor-egress-s3storage",
4 | "Modes": [ "Validate" ]
5 | }
6 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Extension.Common/MonitoringException.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.Extension.Common
7 | {
8 | public class MonitoringException : Exception
9 | {
10 | public MonitoringException(string message) : base(message) { }
11 |
12 | public MonitoringException(string message, Exception innerException) : base(message, innerException) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/AzureAdOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor
5 | {
6 | internal static class AzureAdOptionsDefaults
7 | {
8 | public const string DefaultInstance = "https://login.microsoftonline.com";
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/CallStacksOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal static class CallStacksOptionsDefaults
7 | {
8 | public const bool Enabled = true;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/CallStacksOptionsExtensions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal static class CallStacksOptionsExtensions
7 | {
8 | public static bool GetEnabled(this CallStacksOptions options)
9 | {
10 | return options.Enabled.GetValueOrDefault(CallStacksOptionsDefaults.Enabled);
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/CapturedParameterFormat.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal enum CapturedParameterFormat
7 | {
8 | PlainText = 1,
9 | JsonSequence = 2,
10 | NewlineDelimitedJson = 3,
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/CollectionRuleFinishedStates.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | public enum CollectionRuleFinishedStates
7 | {
8 | Startup,
9 | RuleDurationReached,
10 | ActionCountReached
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/CollectionRuleMetadata.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal class CollectionRuleMetadata
7 | {
8 | public string CollectionRuleName { get; set; } = string.Empty;
9 |
10 | public int ActionListIndex { get; set; }
11 |
12 | public string? ActionName { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/CollectionRuleState.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Text.Json.Serialization;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.WebApi
7 | {
8 | [JsonConverter(typeof(JsonStringEnumConverter))]
9 | public enum CollectionRuleState
10 | {
11 | Running,
12 | ActionExecuting,
13 | Throttled,
14 | Finished
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/DiagnosticPortConnectionMode.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Text.Json.Serialization;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.WebApi
7 | {
8 | [JsonConverter(typeof(JsonStringEnumConverter))]
9 | public enum DiagnosticPortConnectionMode
10 | {
11 | Connect,
12 | Listen
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/DiagnosticPortOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal static class DiagnosticPortOptionsDefaults
7 | {
8 | public const DiagnosticPortConnectionMode ConnectionMode = DiagnosticPortConnectionMode.Connect;
9 | public const bool DeleteEndpointOnStartup = false;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/DotnetMonitorDebugOptions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | ///
7 | /// Configuration options for debugging dotnet-monitor features.
8 | /// These options are not officially supported and are subject to change.
9 | ///
10 | internal sealed class DotnetMonitorDebugOptions
11 | {
12 | public ExceptionsDebugOptions? Exceptions { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/ExceptionFormat.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal enum ExceptionFormat
7 | {
8 | NewlineDelimitedJson = 1,
9 | PlainText = 2,
10 | JsonSequence = 3
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/ExceptionsDebugOptions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.ComponentModel;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.Options
7 | {
8 | internal sealed class ExceptionsDebugOptions
9 | {
10 | [DefaultValue(ExceptionsDebugOptionsDefaults.IncludeMonitorExceptions)]
11 | public bool? IncludeMonitorExceptions { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/ExceptionsDebugOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal static class ExceptionsDebugOptionsDefaults
7 | {
8 | public const bool IncludeMonitorExceptions = false;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/ExceptionsDebugOptionsExtensions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal static class ExceptionsDebugOptionsExtensions
7 | {
8 | public static bool GetIncludeMonitorExceptions(this ExceptionsDebugOptions? options)
9 | {
10 | return (options?.IncludeMonitorExceptions).GetValueOrDefault(ExceptionsDebugOptionsDefaults.IncludeMonitorExceptions);
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/ExceptionsOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal static class ExceptionsOptionsDefaults
7 | {
8 | public const bool Enabled = true;
9 |
10 | public const int TopLevelLimit = 20;
11 |
12 | public const bool CollectOnStartup = true;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/ExperimentalAttribute.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.Options
7 | {
8 | ///
9 | /// Attribute used to denote that a property belongs to an experimental feature.
10 | ///
11 | [AttributeUsage(AttributeTargets.Property)]
12 | internal class ExperimentalAttribute : Attribute
13 | {
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/GlobalCounterOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal static class GlobalCounterOptionsDefaults
7 | {
8 | public const float IntervalSeconds = 5.0f;
9 |
10 | public const int MaxHistograms = 20;
11 |
12 | public const int MaxTimeSeries = 1000;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/IInProcessFeatureOptions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal interface IInProcessFeatureOptions
7 | {
8 | public bool? Enabled { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/IMonitorCapability.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | public interface IMonitorCapability
7 | {
8 | public string Name { get; }
9 |
10 | public bool Enabled { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/InProcessFeaturesOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal static class InProcessFeaturesOptionsDefaults
7 | {
8 | public const bool Enabled = false;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/LogFormat.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | public enum LogFormat
7 | {
8 | NewlineDelimitedJson = 1,
9 | PlainText = 2,
10 | JsonSequence = 3
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/MetricsOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal static class MetricsOptionsDefaults
7 | {
8 | public const bool Enabled = true;
9 |
10 | public const int MetricCount = 3;
11 |
12 | public const bool IncludeDefaultProviders = true;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/MetricsOptionsExtensions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal static class MetricsOptionsExtensions
7 | {
8 | public static bool GetEnabled(this MetricsOptions options)
9 | {
10 | return options.Enabled.GetValueOrDefault(MetricsOptionsDefaults.Enabled);
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/MonitorCapabilityConstants.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal static class MonitorCapabilityConstants
7 | {
8 | public const string Exceptions = "exceptions";
9 | public const string ParameterCapturing = "parameters";
10 | public const string CallStacks = "call_stacks";
11 | public const string Metrics = "metrics";
12 | public const string HttpEgress = "http_egress";
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/ParameterCapturingOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal static class ParameterCapturingOptionsDefaults
7 | {
8 | public const bool Enabled = false;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.Options/ParameterCapturingOptionsExtensions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal static class ParameterCapturingOptionsExtensions
7 | {
8 | public static bool GetEnabled(this ParameterCapturingOptions options)
9 | {
10 | return options.Enabled.GetValueOrDefault(ParameterCapturingOptionsDefaults.Enabled);
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.StartupHook/Exceptions/Identification/ExceptionGroupData.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.StartupHook.Exceptions.Identification
5 | {
6 | internal sealed class ExceptionGroupData
7 | {
8 | public ulong ExceptionClassId { get; set; }
9 | public ulong ThrowingMethodId { get; set; }
10 | public int ILOffset { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.StartupHook/Exceptions/Identification/StackFrameData.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.StartupHook.Exceptions.Identification
5 | {
6 | internal class StackFrameData
7 | {
8 | public ulong MethodId { get; set; }
9 | public int ILOffset { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.StartupHook/Exceptions/Identification/StackFrameIdentifier.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.StartupHook.Exceptions.Identification
5 | {
6 | internal sealed record class StackFrameIdentifier(ulong MethodId, int ILOffset);
7 | }
8 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.StartupHook/Exceptions/Pipeline/ExceptionPipelineDelegate.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.StartupHook.Exceptions.Pipeline
7 | {
8 | ///
9 | /// Delegate representing an exception handler in the exception processing pipeline.
10 | ///
11 | internal delegate void ExceptionPipelineDelegate(Exception exception, ExceptionPipelineExceptionContext context);
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.StartupHook/ParameterCapturing/IMethodDescriptionValidator.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.StartupHook.MonitorMessageDispatcher.Models;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.StartupHook.ParameterCapturing
7 | {
8 | internal interface IMethodDescriptionValidator
9 | {
10 | public bool IsMethodDescriptionAllowed(MethodDescription methodDescription);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.StartupHook/ParameterCapturing/ParameterSignature.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Reflection;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.StartupHook.ParameterCapturing
7 | {
8 | internal sealed record ParameterSignature(string? Name, string? Type, string? TypeModuleName, ParameterAttributes Attributes, bool IsByRef)
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.StartupHook/ParameterCapturing/Pipeline/TooManyRequestsException.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.StartupHook.ParameterCapturing.Pipeline
7 | {
8 | internal sealed class TooManyRequestsException : Exception
9 | {
10 | public TooManyRequestsException(string message) : base(message) { }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.StartupHook/ParameterCapturing/ResolvedParameterInfo.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.StartupHook.ParameterCapturing.ObjectFormatting;
5 | using System.Reflection;
6 |
7 | namespace Microsoft.Diagnostics.Monitoring.StartupHook.ParameterCapturing
8 | {
9 | internal sealed record ResolvedParameterInfo(string? Name, string? Type, string? TypeModuleName, ObjectFormatterResult Value, ParameterAttributes Attributes, bool IsByRef)
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.StartupHook/SharedInternals.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.StartupHook.MonitorMessageDispatcher;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.StartupHook
7 | {
8 | internal static class SharedInternals
9 | {
10 | public static MonitorMessageDispatcher? MessageDispatcher { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/EgressOutputConfiguration.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal sealed class EgressOutputConfiguration : IEgressOutputConfiguration
7 | {
8 | public bool IsHttpEgressEnabled { get; }
9 |
10 | public EgressOutputConfiguration(bool httpEgressEnabled)
11 | {
12 | IsHttpEgressEnabled = httpEgressEnabled;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/EncodingCache.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Text;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.WebApi
7 | {
8 | internal static class EncodingCache
9 | {
10 | // Encode UTF8 without BOM and write "?" as fallback replacement.
11 | public static readonly Encoding UTF8NoBOMNoThrow =
12 | new UTF8Encoding(encoderShouldEmitUTF8Identifier: false);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/EndpointInfo/IEndpointInfoExtensions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.WebApi
7 | {
8 | internal static class IEndpointInfoExtensions
9 | {
10 | public static bool TargetFrameworkSupportsProcessEnv(this IEndpointInfo endpointInfo)
11 | {
12 | return endpointInfo.RuntimeInstanceCookie != Guid.Empty;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/ExceptionExtensions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.AspNetCore.Mvc;
5 | using System;
6 |
7 | namespace Microsoft.Diagnostics.Monitoring.WebApi
8 | {
9 | internal static class ExceptionExtensions
10 | {
11 | public static ProblemDetails ToProblemDetails(this Exception ex, int statusCode)
12 | {
13 | return new ProblemDetails
14 | {
15 | Detail = ex.Message,
16 | Status = statusCode
17 | };
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/Exceptions/ExceptionInstance.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.WebApi.Models;
5 | using System;
6 | using System.Diagnostics;
7 |
8 | namespace Microsoft.Diagnostics.Monitoring.WebApi.Exceptions
9 | {
10 | internal record class ExceptionInstance(ulong Id, string TypeName, string ModuleName, string Message, DateTime Timestamp, CallStack? CallStack, ulong[] InnerExceptionIds, string ActivityId, ActivityIdFormat ActivityIdFormat)
11 | : IExceptionInstance
12 | {
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/IDumpService.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.IO;
5 | using System.Threading;
6 | using System.Threading.Tasks;
7 |
8 | namespace Microsoft.Diagnostics.Monitoring.WebApi
9 | {
10 | internal interface IDumpService
11 | {
12 | Task DumpAsync(IEndpointInfo endpointInfo, Models.DumpType mode, CancellationToken token);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/IEgressOutputConfiguration.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | public interface IEgressOutputConfiguration
7 | {
8 | bool IsHttpEgressEnabled { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/IGCDumpOperationFactory.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal interface IGCDumpOperationFactory
7 | {
8 | IArtifactOperation Create(IEndpointInfo endpointInfo);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/IInProcessFeatures.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | namespace Microsoft.Diagnostics.Monitoring.WebApi
4 | {
5 | public interface IInProcessFeatures
6 | {
7 | bool IsProfilerRequired { get; }
8 |
9 | bool IsMutatingProfilerRequired { get; }
10 |
11 | bool IsStartupHookRequired { get; }
12 |
13 | bool IsLibrarySharingRequired { get; }
14 |
15 | bool CollectExceptionsOnStartup { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/IStacksOperationFactory.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal interface IStacksOperationFactory
7 | {
8 | IArtifactOperation Create(IEndpointInfo endpointInfo, StackFormat format);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/IStartable.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Threading.Tasks;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.WebApi
7 | {
8 | public interface IStartable
9 | {
10 | Task Started { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/Metrics/IMetricsPortsProvider.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Collections.Generic;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.WebApi
7 | {
8 | ///
9 | /// Provides port information about the metrics URLs that were successfully bound.
10 | ///
11 | internal interface IMetricsPortsProvider
12 | {
13 | ///
14 | /// Get the ports of the metrics URLs.
15 | ///
16 | IEnumerable MetricsPorts { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/Models/DumpType.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Text.Json.Serialization;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.WebApi.Models
7 | {
8 | [JsonConverter(typeof(JsonStringEnumConverter))]
9 | public enum DumpType
10 | {
11 | Full = 1,
12 | Mini,
13 | WithHeap,
14 | Triage
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/Models/TraceProfile.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 | using System.Text.Json.Serialization;
6 |
7 | namespace Microsoft.Diagnostics.Monitoring.WebApi.Models
8 | {
9 | [JsonConverter(typeof(JsonStringEnumConverter))]
10 | [Flags]
11 | public enum TraceProfile
12 | {
13 | Cpu = 0x1,
14 | Http = 0x2,
15 | Logs = 0x4,
16 | Metrics = 0x8,
17 | GcCollect = 0x10,
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/Operation/EgressResult.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal struct EgressResult
7 | {
8 | public EgressResult(string value)
9 | {
10 | Value = value;
11 | }
12 |
13 | public string Value { get; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/Operation/IEgressOperationQueue.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Threading;
5 | using System.Threading.Tasks;
6 |
7 | namespace Microsoft.Diagnostics.Monitoring.WebApi
8 | {
9 | internal interface IEgressOperationQueue
10 | {
11 | ValueTask EnqueueAsync(EgressRequest workItem);
12 | ValueTask DequeueAsync(CancellationToken cancellationToken);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/Operation/TooManyRequestsException.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | internal sealed class TooManyRequestsException : MonitoringException
7 | {
8 | public TooManyRequestsException() : base(Strings.ErrorMessage_TooManyRequests)
9 | {
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/RequestThrottling/IRequestLimitTracker.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.WebApi
7 | {
8 | internal interface IRequestLimitTracker
9 | {
10 | IDisposable Increment(string key, out bool allowOperation);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/RequestThrottling/RequestLimit.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | public sealed record RequestLimit(string Key, int Limit);
7 | }
8 |
--------------------------------------------------------------------------------
/src/Microsoft.Diagnostics.Monitoring.WebApi/StreamDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.WebApi
5 | {
6 | public static class StreamDefaults
7 | {
8 | // Matches FileStream.DefaultBufferSize
9 | public const int BufferSize = 4096;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Profilers/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14)
2 |
3 |
4 | add_subdirectory(CommonMonitorProfiler)
5 |
6 | include_directories(
7 | CommonMonitorProfiler
8 | )
9 |
10 | add_subdirectory(MonitorProfiler)
11 | add_subdirectory(MutatingMonitorProfiler)
12 |
--------------------------------------------------------------------------------
/src/Profilers/CommonMonitorProfiler/CommonUtilities/PairHash.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | template
7 | struct PairHash
8 | {
9 | size_t operator()(const std::pair& pair) const
10 | {
11 | std::hash first;
12 | size_t firstResult = first(pair.first);
13 |
14 | std::hash second;
15 | size_t secondResult = second(pair.second);
16 |
17 | //TODO Use a better hash merging algorithm
18 | return firstResult ^ secondResult;
19 | }
20 | };
--------------------------------------------------------------------------------
/src/Profilers/CommonMonitorProfiler/CommonUtilities/ThreadUtilities.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | class ThreadUtilities
7 | {
8 | public:
9 | static void Sleep(unsigned int milliseconds);
10 | };
11 |
--------------------------------------------------------------------------------
/src/Profilers/CommonMonitorProfiler/Logging/NullLogger.cpp:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #include "NullLogger.h"
5 |
6 | std::shared_ptr NullLogger::Instance = std::make_shared();
7 |
--------------------------------------------------------------------------------
/src/Profilers/MonitorProfiler/MonitorProfiler.def:
--------------------------------------------------------------------------------
1 | LIBRARY MonitorProfiler
2 |
3 | EXPORTS
4 | DllCanUnloadNow PRIVATE
5 | DllGetClassObject PRIVATE
6 | DllMain PRIVATE
7 | TestHook PRIVATE
8 | RegisterMonitorMessageCallback PRIVATE
9 | UnregisterMonitorMessageCallback PRIVATE
--------------------------------------------------------------------------------
/src/Profilers/MutatingMonitorProfiler/MutatingMonitorProfiler.def:
--------------------------------------------------------------------------------
1 | LIBRARY MutatingMonitorProfiler
2 |
3 | EXPORTS
4 | DllCanUnloadNow PRIVATE
5 | DllGetClassObject PRIVATE
6 | DllMain PRIVATE
7 | RequestFunctionProbeRegistration PRIVATE
8 | RequestFunctionProbeInstallation PRIVATE
9 | RequestFunctionProbeUninstallation PRIVATE
10 | RegisterFunctionProbeCallbacks PRIVATE
11 | UnregisterFunctionProbeCallbacks PRIVATE
--------------------------------------------------------------------------------
/src/Profilers/MutatingMonitorProfiler/ProbeInstrumentation/CallbackDefinitions.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | #include "cor.h"
7 |
8 | typedef void (STDMETHODCALLTYPE *FaultingProbeCallback)(ULONG64);
9 | constexpr COR_SIGNATURE FaultingProbeCallbackCorSignature [] = { IMAGE_CEE_CS_CALLCONV_STDCALL, 0x01, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I8 };
10 |
--------------------------------------------------------------------------------
/src/Tests/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 | false
10 |
11 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.ConfigurationSchema/Options/ConsoleLoggerFormat.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Monitoring.Options
5 | {
6 | internal enum ConsoleLoggerFormat
7 | {
8 | Json,
9 | Simple,
10 | Systemd
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.ConfigurationSchema/Options/RootOptions.Logging.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.Options;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor
7 | {
8 | internal partial class RootOptions
9 | {
10 | public LoggingOptions? Logging { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.EgressExtensibilityApp/TestEgressProviderOptions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Collections.Generic;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.EgressExtensibilityApp
7 | {
8 | internal sealed partial class TestEgressProviderOptions
9 | {
10 | public bool ShouldSucceed { get; set; }
11 | public IDictionary Metadata { get; set; }
12 | = new Dictionary(0);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.EgressExtensibilityApp/extension.json:
--------------------------------------------------------------------------------
1 | {
2 | "ExecutableFileName": "Microsoft.Diagnostics.Monitoring.EgressExtensibilityApp",
3 | "Name": "TestingProvider"
4 | }
5 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.OpenApiGen/Microsoft.Diagnostics.Monitoring.OpenApiGen.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | $(ToolTargetFrameworks)
6 | enable
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Profiler.UnitTestApp/Microsoft.Diagnostics.Monitoring.Profiler.UnitTestApp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | $(TestTargetFrameworks)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.TestProcessCleanupStartupHook/Microsoft.Diagnostics.Monitoring.TestProcessCleanupStartupHook.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests/HttpApi/ApiStatusCodeException.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Net;
5 | using System.Net.Http;
6 |
7 | namespace Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests.HttpApi
8 | {
9 | internal class ApiStatusCodeException : HttpRequestException
10 | {
11 | public ApiStatusCodeException(string message, HttpStatusCode statusCode)
12 | : base(message, null, statusCode)
13 | {
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.TestStartupHook/Microsoft.Diagnostics.Monitoring.Tool.TestStartupHook.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(ToolTargetFrameworks)
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTestCommon/TestDotnetToolsFileSystem.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Tools.Monitor.Extensibility;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.TestCommon
7 | {
8 | internal sealed class TestDotnetToolsFileSystem : IDotnetToolsFileSystem
9 | {
10 | public string Path { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/DiagnosticPortConfigurations/Connect.txt:
--------------------------------------------------------------------------------
1 | "DiagnosticPort": {
2 | "ConnectionMode": "Connect"
3 | }
4 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/DiagnosticPortConfigurations/FullListen.txt:
--------------------------------------------------------------------------------
1 | "DiagnosticPort": {
2 | "ConnectionMode": "Listen",
3 | "EndpointName": "FullDiagnosticPort"
4 | }
5 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/DiagnosticPortConfigurations/SimplifiedListen.txt:
--------------------------------------------------------------------------------
1 | "DiagnosticPort": "SimplifiedDiagnosticPort"
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/AuthenticationRedacted.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonitorApiKey": {
3 | "Subject": "ae5473b6-8dad-498d-b915-ffffffffffff",
4 | "PublicKey": ":REDACTED:"
5 | },
6 | "AzureAd": ":NOTPRESENT:"
7 | }
8 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/CollectionRuleDefaults.json:
--------------------------------------------------------------------------------
1 | {
2 | "Actions": {
3 | "Egress": "artifacts"
4 | },
5 | "Limits": {
6 | "ActionCount": "20",
7 | "ActionCountSlidingWindowDuration": "00:00:01",
8 | "RuleDuration": "11:11:11"
9 | },
10 | "Triggers": {
11 | "RequestCount": "10",
12 | "ResponseCount": "1",
13 | "SlidingWindowDuration": "00:05:00"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/DefaultProcess.json:
--------------------------------------------------------------------------------
1 | {
2 | "Filters": [
3 | {
4 | "Key": "ProcessId",
5 | "Value": "12345"
6 | }
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/DiagnosticPort.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionMode": "Listen",
3 | "EndpointName": "\\\\.\\pipe\\dotnet-monitor-pipe"
4 | }
5 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/DotnetMonitorDebug.json:
--------------------------------------------------------------------------------
1 | {
2 | "Exceptions": {
3 | "IncludeMonitorExceptions": "True"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/EgressFull.json:
--------------------------------------------------------------------------------
1 | {
2 | "FileSystem": {
3 | "artifacts": {
4 | "directoryPath": "/artifacts"
5 | }
6 | },
7 | "Properties": {
8 | "MonitorBlobAccountKey": "accountKey"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/EgressRedacted.json:
--------------------------------------------------------------------------------
1 | {
2 | "Properties": {
3 | "MonitorBlobAccountKey": ":REDACTED:"
4 | },
5 | "FileSystem": {
6 | "artifacts": {
7 | "DirectoryPath": " /artifacts",
8 | "IntermediateDirectoryPath": ":NOT PRESENT:",
9 | "CopyBufferSize": ":NOT PRESENT:"
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/GlobalCounter.json:
--------------------------------------------------------------------------------
1 | {
2 | "IntervalSeconds": "2"
3 | }
4 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/InProcessFeatures.json:
--------------------------------------------------------------------------------
1 | {
2 | "Enabled": "True",
3 | "Exceptions": {
4 | "Filters": {
5 | "Include": [
6 | {
7 | "ExceptionType": "System.ArgumentNullException"
8 | }
9 | ]
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/Logging.json:
--------------------------------------------------------------------------------
1 | {
2 | "CaptureScopes": "True",
3 | "Console": {
4 | "FormatterOptions": {
5 | "ColorBehavior": "Default"
6 | },
7 | "LogToStandardErrorThreshold": "Error"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/Metrics.json:
--------------------------------------------------------------------------------
1 | {
2 | "Enabled": "True",
3 | "Endpoints": "http://localhost:52325",
4 | "IncludeDefaultProviders": "True",
5 | "MetricCount": "10",
6 | "Providers": [
7 | {
8 | "CounterNames": [
9 | "connections-per-second",
10 | "total-connections"
11 | ],
12 | "ProviderName": "Microsoft-AspNetCore-Server-Kestrel"
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "DumpTempFolder": "/ephemeral-directory/"
3 | }
4 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedConfigurations/URLs.json:
--------------------------------------------------------------------------------
1 | "https://localhost:44444"
2 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/AuthenticationRedacted.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonitorApiKey": {
3 | "Subject": "ae5473b6-8dad-498d-b915-ffffffffffff" /*JsonConfigurationProvider for 'appsettings.json' (Optional)*/,
4 | "PublicKey": ":REDACTED:" /*JsonConfigurationProvider for 'appsettings.json' (Optional)*/
5 | },
6 | "AzureAd": ":NOTPRESENT:"
7 | }
8 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/DefaultProcess.json:
--------------------------------------------------------------------------------
1 | {
2 | "Filters": [
3 | {
4 | "Key": "ProcessId" /*MemoryConfigurationProvider*/,
5 | "Value": "12345" /*MemoryConfigurationProvider*/
6 | }
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/DiagnosticPort.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionMode": "Listen" /*MemoryConfigurationProvider*/,
3 | "EndpointName": "\\\\.\\pipe\\dotnet-monitor-pipe" /*MemoryConfigurationProvider*/
4 | }
5 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/DotnetMonitorDebug.json:
--------------------------------------------------------------------------------
1 | {
2 | "Exceptions": {
3 | "IncludeMonitorExceptions": "True"
4 | /*JsonConfigurationProvider for 'settings.json' (Optional)*/
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/EgressFull.json:
--------------------------------------------------------------------------------
1 | {
2 | "FileSystem": {
3 | "artifacts": {
4 | "directoryPath": "/artifacts" /*JsonConfigurationProvider for 'UserSpecifiedFile.json' (Optional)*/
5 | }
6 | },
7 | "Properties": {
8 | "MonitorBlobAccountKey": "accountKey" /*JsonConfigurationProvider for 'UserSpecifiedFile.json' (Optional)*/
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/EgressRedacted.json:
--------------------------------------------------------------------------------
1 | {
2 | "Properties": {
3 | "MonitorBlobAccountKey": ":REDACTED:" /*JsonConfigurationProvider for 'UserSpecifiedFile.json' (Optional)*/
4 | },
5 | "FileSystem": {
6 | "artifacts": {
7 | "DirectoryPath": " /artifacts" /*JsonConfigurationProvider for 'UserSpecifiedFile.json' (Optional)*/,
8 | "IntermediateDirectoryPath": ":NOT PRESENT:",
9 | "CopyBufferSize": ":NOT PRESENT:"
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/GlobalCounter.json:
--------------------------------------------------------------------------------
1 | {
2 | "IntervalSeconds": "2" /*MemoryConfigurationProvider*/
3 | }
4 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/InProcessFeatures.json:
--------------------------------------------------------------------------------
1 | {
2 | "Enabled": "True" /*JsonConfigurationProvider for 'settings.json' (Optional)*/,
3 | "Exceptions": {
4 | "Filters": {
5 | "Include": [
6 | {
7 | "ExceptionType": "System.ArgumentNullException" /*JsonConfigurationProvider for 'settings.json' (Optional)*/
8 | }
9 | ]
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/Logging.json:
--------------------------------------------------------------------------------
1 | {
2 | "CaptureScopes": "True" /*JsonConfigurationProvider for 'settings.json' (Optional)*/,
3 | "Console": {
4 | "FormatterOptions": {
5 | "ColorBehavior": "Default" /*JsonConfigurationProvider for 'settings.json' (Optional)*/
6 | },
7 | "LogToStandardErrorThreshold": "Error" /*JsonConfigurationProvider for 'settings.json' (Optional)*/
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "DumpTempFolder": "/ephemeral-directory/" /*JsonConfigurationProvider for 'appsettings.json' (Optional)*/
3 | }
4 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/ExpectedShowSourcesConfigurations/URLs.json:
--------------------------------------------------------------------------------
1 | "https://localhost:44444"/*CommandLineConfigurationProvider*/
2 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/MockTimeProvider.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring.Tool.UnitTests
7 | {
8 | internal sealed class MockTimeProvider : TimeProvider
9 | {
10 | private DateTimeOffset _utcNow = DateTimeOffset.UtcNow;
11 |
12 | public override DateTimeOffset GetUtcNow() => _utcNow;
13 |
14 | public void Increment(TimeSpan timeSpan)
15 | {
16 | _utcNow += timeSpan;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/CollectionRuleDefaults.json:
--------------------------------------------------------------------------------
1 | {
2 | "CollectionRuleDefaults": {
3 | "Actions": {
4 | "Egress": "artifacts"
5 | },
6 | "Triggers": {
7 | "SlidingWindowDuration": "00:05:00",
8 | "RequestCount": "10",
9 | "ResponseCount": "1"
10 | },
11 | "Limits": {
12 | "ActionCount": "20",
13 | "ActionCountSlidingWindowDuration": "00:00:01",
14 | "RuleDuration": "11:11:11"
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/DefaultProcess.json:
--------------------------------------------------------------------------------
1 | {
2 | "DefaultProcess": {
3 | "Filters": [
4 | {
5 | "Key": "ProcessId",
6 | "Value": "12345"
7 | }
8 | ]
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/DiagnosticPort.json:
--------------------------------------------------------------------------------
1 | {
2 | "DiagnosticPort": {
3 | "ConnectionMode": "Listen",
4 | "EndpointName": "\\\\.\\pipe\\dotnet-monitor-pipe"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/DotnetMonitorDebug.json:
--------------------------------------------------------------------------------
1 | {
2 | "DotnetMonitorDebug": {
3 | "Exceptions": {
4 | "IncludeMonitorExceptions": true
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/Egress.json:
--------------------------------------------------------------------------------
1 | {
2 | "Egress": {
3 | "FileSystem": {
4 | "artifacts": {
5 | "directoryPath": "/artifacts"
6 | }
7 | },
8 | "Properties": {
9 | "MonitorBlobAccountKey": "accountKey"
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/GlobalCounter.json:
--------------------------------------------------------------------------------
1 | {
2 | "GlobalCounter": {
3 | "IntervalSeconds": 2
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/InProcessFeatures.json:
--------------------------------------------------------------------------------
1 | {
2 | "InProcessFeatures": {
3 | "Enabled": "True",
4 | "Exceptions": {
5 | "Filters": {
6 | "Include": [
7 | {
8 | "ExceptionType": "System.ArgumentNullException"
9 | }
10 | ]
11 | }
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/Logging.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "CaptureScopes": true,
4 | "Console": {
5 | "FormatterOptions": {
6 | "ColorBehavior": "Default"
7 | },
8 | "LogToStandardErrorThreshold": "Error"
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/Metrics.json:
--------------------------------------------------------------------------------
1 | {
2 | "Metrics": {
3 | "Enabled": "True",
4 | "Endpoints": "http://localhost:52325",
5 | "IncludeDefaultProviders": "True",
6 | "MetricCount": "10",
7 | "Providers": [
8 | {
9 | "ProviderName": "Microsoft-AspNetCore-Server-Kestrel",
10 | "CounterNames": [
11 | "connections-per-second",
12 | "total-connections"
13 | ]
14 | }
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "Storage": {
3 | "DumpTempFolder": "/ephemeral-directory/"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/SampleConfigurations/URLs.json:
--------------------------------------------------------------------------------
1 | {
2 | "urls": "https://localhost:44444"
3 | }
4 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/TemplatesConfigurations/CollectionRuleDefaults.json:
--------------------------------------------------------------------------------
1 | {
2 | "CollectionRuleDefaults": {
3 | "Actions": {
4 | "Egress": "artifacts2"
5 | },
6 | "Triggers": {
7 | "SlidingWindowDuration": "00:05:00",
8 | "RequestCount": "10",
9 | "ResponseCount": "1"
10 | },
11 | "Limits": {
12 | "ActionCount": "20",
13 | "ActionCountSlidingWindowDuration": "00:00:01",
14 | "RuleDuration": "11:11:11"
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/TemplatesConfigurations/DiagnosticPort.json:
--------------------------------------------------------------------------------
1 | {
2 | "DiagnosticPort": {
3 | "ConnectionMode": "Listen",
4 | "EndpointName": "\\\\.\\pipe\\dotnet-monitor-pipe"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Auth/ApiKey/AuthorizedUserRequirement.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.AspNetCore.Authorization;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.Auth.ApiKey
7 | {
8 | internal sealed class AuthorizedUserRequirement : IAuthorizationRequirement
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Auth/AuthenticationStartupLoggerWrapper.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.Auth
7 | {
8 | internal sealed class AuthenticationStartupLoggerWrapper : IStartupLogger
9 | {
10 | private readonly Action _logAction;
11 |
12 | public AuthenticationStartupLoggerWrapper(Action logAction)
13 | {
14 | _logAction = logAction;
15 | }
16 |
17 | public void Log()
18 | {
19 | _logAction();
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Actions/CollectionRuleActionConstants.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Actions
5 | {
6 | internal static class CollectionRuleActionConstants
7 | {
8 | public const string EgressPathOutputValueName = "EgressPath";
9 | public const string EnvironmentVariableValueName = "Value";
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Actions/ICollectionRuleActionFactory.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.WebApi;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Actions
7 | {
8 | internal interface ICollectionRuleActionFactory
9 | {
10 | ICollectionRuleAction Create(IProcessInfo endpointInfo, TOptions options);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Configuration/ICollectionRuleActionDescriptor.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Configuration
7 | {
8 | internal interface ICollectionRuleActionDescriptor
9 | {
10 | string ActionName { get; }
11 |
12 | Type FactoryType { get; }
13 |
14 | Type OptionsType { get; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Configuration/ICollectionRuleTriggerDescriptor.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Configuration
7 | {
8 | interface ICollectionRuleTriggerDescriptor
9 | {
10 | Type FactoryType { get; }
11 |
12 | Type? OptionsType { get; }
13 |
14 | string TriggerName { get; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Exceptions/CollectionRuleActionException.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring;
5 | using System;
6 |
7 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Exceptions
8 | {
9 | internal sealed class CollectionRuleActionException : MonitoringException
10 | {
11 | public CollectionRuleActionException(Exception innerException) : base(innerException.Message, innerException)
12 | {
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Actions/ActionOptionsDependencyPropertyAttribute.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
7 | {
8 | [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
9 | internal sealed class ActionOptionsDependencyPropertyAttribute : Attribute
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Actions/BaseRecordOptions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
5 | {
6 | ///
7 | /// Forces options to have record semantics. This is an alternative to forcing ICloneable on action options
8 | /// that we may want to perform token substitution on.
9 | ///
10 | internal record class BaseRecordOptions
11 | {
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Actions/CollectDumpOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.WebApi.Models;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
7 | {
8 | internal static class CollectDumpOptionsDefaults
9 | {
10 | public const DumpType Type = DumpType.WithHeap;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Actions/CollectExceptionsOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.Options;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
7 | {
8 | internal static class CollectExceptionsOptionsDefaults
9 | {
10 | public const ExceptionFormat Format = ExceptionFormat.PlainText;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Actions/CollectLiveMetricsOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
5 | {
6 | internal static class CollectLiveMetricsOptionsDefaults
7 | {
8 | public const bool IncludeDefaultProviders = true;
9 | public const string Duration = "00:00:30";
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Actions/CollectStacksOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
5 | {
6 | internal static class CollectStacksOptionsDefaults
7 | {
8 | public const CallStackFormat Format = CallStackFormat.Json;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Actions/CollectStacksOptionsExtensions.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
5 | {
6 | internal static class CollectStacksOptionsExtensions
7 | {
8 | public static CallStackFormat GetFormat(this CollectStacksOptions options) => options.Format.GetValueOrDefault(CollectStacksOptionsDefaults.Format);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Actions/CollectTraceOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
5 | {
6 | internal static class CollectTraceOptionsDefaults
7 | {
8 | public const bool RequestRundown = true;
9 | public const int BufferSizeMegabytes = 256;
10 | public const string Duration = "00:00:30";
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Actions/ExecuteOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
5 | {
6 | internal static class ExecuteOptionsDefaults
7 | {
8 | public const bool IgnoreExitCode = false;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleActionOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options
5 | {
6 | internal static class CollectionRuleActionOptionsDefaults
7 | {
8 | public const bool WaitForCompletion = false;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleDefaultsInterfaces/IEgressProviderProperties.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #nullable enable
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.CollectionRuleDefaultsInterfaces
7 | {
8 | internal interface IEgressProviderProperties
9 | {
10 | public string Egress { get; set; }
11 |
12 | public string? ArtifactName { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleDefaultsInterfaces/IRequestCountProperties.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.CollectionRuleDefaultsInterfaces
5 | {
6 | internal interface IRequestCountProperties
7 | {
8 | public int RequestCount { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleDefaultsInterfaces/ISlidingWindowDurationProperties.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.CollectionRuleDefaultsInterfaces
7 | {
8 | internal interface ISlidingWindowDurationProperties
9 | {
10 | public TimeSpan? SlidingWindowDuration { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleLimitsOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options
5 | {
6 | internal static class CollectionRuleLimitsOptionsDefaults
7 | {
8 | public const int ActionCount = 5;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/AspNetRequestCountOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers
5 | {
6 | internal static class AspNetRequestCountOptionsDefaults
7 | {
8 | public const string SlidingWindowDuration = TriggerOptionsConstants.SlidingWindowDuration_Default;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/AspNetRequestDurationOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers
5 | {
6 | internal static class AspNetRequestDurationOptionsDefaults
7 | {
8 | public const string RequestDuration = "00:00:05";
9 | public const string SlidingWindowDuration = TriggerOptionsConstants.SlidingWindowDuration_Default;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/AspNetResponseStatusOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers
5 | {
6 | internal static class AspNetResponseStatusOptionsDefaults
7 | {
8 | public const string SlidingWindowDuration = TriggerOptionsConstants.SlidingWindowDuration_Default;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/EventCounterOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers
5 | {
6 | internal static class EventCounterOptionsDefaults
7 | {
8 | public const string SlidingWindowDuration = TriggerOptionsConstants.SlidingWindowDuration_Default;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/EventCounterShortcuts/CPUUsageOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers.EventCounterShortcuts
5 | {
6 | internal static class CPUUsageOptionsDefaults
7 | {
8 | public const double GreaterThan = 50.0; // Arbitrary
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/EventCounterShortcuts/GCHeapSizeOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers.EventCounterShortcuts
5 | {
6 | internal static class GCHeapSizeOptionsDefaults
7 | {
8 | public const double GreaterThan = 10; // 10 MB was what we used in our example
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/EventCounterShortcuts/ThreadpoolQueueLengthOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers.EventCounterShortcuts
5 | {
6 | internal static class ThreadpoolQueueLengthOptionsDefaults
7 | {
8 | public const double GreaterThan = 200; // Arbitrary
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/EventMeterOptionsDefaults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers
5 | {
6 | internal static class EventMeterOptionsDefaults
7 | {
8 | public const string SlidingWindowDuration = TriggerOptionsConstants.SlidingWindowDuration_Default;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/IAspNetActionPathFilters.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #nullable enable
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers
7 | {
8 | internal interface IAspNetActionPathFilters
9 | {
10 | public string[]? IncludePaths { get; }
11 |
12 | public string[]? ExcludePaths { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/CollectionRules/Triggers/ICollectionRuleStartupTrigger.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Triggers
5 | {
6 | ///
7 | /// Interface that denotes that the trigger is a startup trigger.
8 | ///
9 | ///
10 | /// At this time, only the StartupTrigger should implement this interface.
11 | ///
12 | internal interface ICollectionRuleStartupTrigger :
13 | ICollectionRuleTrigger
14 | {
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/ConvertUtils.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #nullable enable
5 |
6 | using System;
7 |
8 | namespace Microsoft.Diagnostics.Tools.Monitor;
9 |
10 | internal static class ConvertUtils
11 | {
12 | public static string ToString(object value, IFormatProvider? provider)
13 | {
14 | return Convert.ToString(value, provider)!; // Since value is not null this will never return null.
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Egress/EgressProviderTypes.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.Egress
5 | {
6 | internal static class EgressProviderTypes
7 | {
8 | public const string FileSystem = nameof(FileSystem);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Egress/EgressStartupLogger.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.Egress
5 | {
6 | internal sealed class EgressStartupLogger : IStartupLogger
7 | {
8 | private readonly EgressProviderSource _source;
9 |
10 | public EgressStartupLogger(EgressProviderSource source)
11 | {
12 | _source = source;
13 | }
14 |
15 | public void Log()
16 | {
17 | _source.Initialize();
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Exceptions/IExceptionsStoreCallback.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.WebApi.Exceptions;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.Exceptions
7 | {
8 | internal interface IExceptionsStoreCallback
9 | {
10 | public void AfterAdd(IExceptionInstance instance);
11 |
12 | public void AfterRemove(IExceptionInstance instance);
13 |
14 | public void BeforeAdd(IExceptionInstance instance);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Exceptions/IExceptionsStoreCallbackFactory.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.WebApi.Exceptions;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.Exceptions
7 | {
8 | internal interface IExceptionsStoreCallbackFactory
9 | {
10 | IExceptionsStoreCallback Create(IExceptionsStore store);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Experimental/ExperimentalFeatureIdentifiers.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor
5 | {
6 | internal static class ExperimentalFeatureIdentifiers
7 | {
8 | public static class EnvironmentVariables
9 | {
10 | private const string Prefix = ToolIdentifiers.StandardPrefix + "Experimental_";
11 |
12 | public const string ServerEndpointPruningAlgorithmV2 = Prefix + nameof(ServerEndpointPruningAlgorithmV2);
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Extensibility/ExtensionMode.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.Extensibility
5 | {
6 | internal enum ExtensionMode
7 | {
8 | Execute,
9 | Validate
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Extensibility/ExtensionTypes.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.Extensibility
5 | {
6 | internal static class ExtensionTypes
7 | {
8 | public const string Egress = nameof(Egress);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Extensibility/IDotnetToolsFileSystem.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.Extensibility
5 | {
6 | ///
7 | /// Interface used for calling an Egress Extension
8 | ///
9 | internal interface IDotnetToolsFileSystem
10 | {
11 | string Path { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Extensibility/IExtension.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.Extensibility
5 | {
6 | internal interface IExtension
7 | {
8 | ///
9 | /// Gets a friendly name to describe this instance of an . This is used in Logs.
10 | ///
11 | string DisplayName { get; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Extensibility/IExtensionResult.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.Extensibility
5 | {
6 | internal interface IExtensionResult
7 | {
8 | bool IsValid();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Extensibility/IWellKnownExtensionFactory.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Tools.Monitor.Egress;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.Extensibility
7 | {
8 | internal interface IWellKnownExtensionFactory
9 | {
10 | IEgressExtension Create();
11 |
12 | string Name { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/HostBuilder/HostBuilderResults.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Collections.Generic;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor
7 | {
8 | public class HostBuilderResults
9 | {
10 | public const string ResultKey = "DotnetMonitorHostBuilderResults";
11 |
12 | public List Warnings { get; } = new();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/HttpEgressCapability.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Diagnostics.Monitoring.Options;
5 |
6 | namespace Microsoft.Diagnostics.Monitoring
7 | {
8 | public class HttpEgressCapability : IMonitorCapability
9 | {
10 | public string Name => MonitorCapabilityConstants.HttpEgress;
11 |
12 | public bool Enabled { get; init; }
13 |
14 | public HttpEgressCapability(
15 | bool isEnabled)
16 | {
17 | Enabled = isEnabled;
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/IStartupLogger.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor
5 | {
6 | internal interface IStartupLogger
7 | {
8 | public void Log();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/LibrarySharing/IFileProviderFactory.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using Microsoft.Extensions.FileProviders;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor.LibrarySharing
7 | {
8 | public interface IFileProviderFactory
9 | {
10 | IFileProvider CreateManaged(string targetFramework);
11 |
12 | IFileProvider CreateNative(string runtimeIdentifier);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/LibrarySharing/ISharedLibraryInitializer.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Threading;
5 | using System.Threading.Tasks;
6 |
7 | namespace Microsoft.Diagnostics.Tools.Monitor.LibrarySharing
8 | {
9 | internal interface ISharedLibraryInitializer
10 | {
11 | Task InitializeAsync(CancellationToken cancellationToken);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/LibrarySharing/ISharedLibraryService.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Threading;
5 | using System.Threading.Tasks;
6 |
7 | namespace Microsoft.Diagnostics.Tools.Monitor.LibrarySharing
8 | {
9 | public interface ISharedLibraryService
10 | {
11 | Task GetFactoryAsync(CancellationToken cancellationToken);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/NotSupportedServiceProvider.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor
7 | {
8 | internal sealed class NotSupportedServiceProvider : IServiceProvider
9 | {
10 | public object GetService(Type serviceType)
11 | {
12 | throw new NotSupportedException("Pre-process services are not supported.");
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/OpenApi/ResponseNames.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | namespace Microsoft.Diagnostics.Tools.Monitor.OpenApi
5 | {
6 | internal static class ResponseNames
7 | {
8 | public const string BadRequestResponse = nameof(BadRequestResponse);
9 | public const string UnauthorizedResponse = nameof(UnauthorizedResponse);
10 | public const string TooManyRequestsResponse = nameof(TooManyRequestsResponse);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/OutputFormat.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #if UNITTEST
5 | namespace Microsoft.Diagnostics.Monitoring.TestCommon.Options
6 | #else
7 | namespace Microsoft.Diagnostics.Tools.Monitor
8 | #endif
9 | {
10 | #if UNITTEST
11 | public
12 | #else
13 | internal
14 | #endif
15 | enum OutputFormat
16 | {
17 | Json,
18 | Text,
19 | Cmd,
20 | Shell,
21 | PowerShell,
22 | MachineJson,
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/Survey/ExperienceSurvey.cs:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | using System.Globalization;
5 |
6 | namespace Microsoft.Diagnostics.Tools.Monitor
7 | {
8 | internal static class ExperienceSurvey
9 | {
10 | public const string ExperienceSurveyLink = "https://aka.ms/dotnet-monitor-survey";
11 |
12 | public static string ExperienceSurveyMessage = string.Format(
13 | CultureInfo.InvariantCulture,
14 | Strings.Message_ExperienceSurvey,
15 | ExperienceSurveyLink);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Tools/dotnet-monitor/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/archives/AzureBlobStorage/AzureBlobStorage-archive.proj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/archives/AzureBlobStorage/AzureBlobStorage-symbols.proj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/archives/AzureBlobStorage/ProjectsToBuild.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TargetFramework=$(LatestTargetFramework);RuntimeIdentifier=$(PackageRid)
5 |
6 |
7 | TargetFramework=$(LatestTargetFramework);RuntimeIdentifier=$(PackageRid)
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/archives/Directory.Build.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/archives/S3Storage/ProjectsToBuild.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TargetFramework=$(LatestTargetFramework);RuntimeIdentifier=$(PackageRid)
5 |
6 |
7 | TargetFramework=$(LatestTargetFramework);RuntimeIdentifier=$(PackageRid)
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/archives/S3Storage/S3Storage-archive.proj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/archives/S3Storage/S3Storage-symbols.proj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/archives/dotnet-monitor-base/ProjectsToBuild.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TargetFramework=$(LatestTargetFramework);RuntimeIdentifier=$(PackageRid)
5 |
6 |
7 | TargetFramework=$(LatestTargetFramework);RuntimeIdentifier=$(PackageRid)
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/archives/dotnet-monitor-base/dotnet-monitor-base-archive.proj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/archives/dotnet-monitor-base/dotnet-monitor-base-symbols.proj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/archives/pkgs/PublishedProject.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/archives/symbols/PublishedProject.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/external/runtime-version.txt:
--------------------------------------------------------------------------------
1 | 8e472c8886c9a02326a5035fc4549717f70ab818
2 |
3 | https://github.com/dotnet/runtime/commit/8e472c8886c9a02326a5035fc4549717f70ab818
4 |
5 | Following directories were copied from dotnet/runtime from the release/8.0-preview.4 branch:
6 | eng/native -> ./../../eng/native
7 | src/coreclr/inc ->./runtime/src/coreclr/inc
8 | src/coreclr/pal/inc -> ./runtime/src/coreclr/pal/inc
9 | src/coreclr/pal/prebuilt/idl -> ./runtime/src/coreclr/pal/prebuilt/idl
10 | src/coreclr/pal/prebuilt/inc -> ./runtime/src/coreclr/pal/prebuilt/inc
11 | src/tests/profiler/native/rejitprofiler/ilrewriter.{h,cpp} -> ../Profilers/MutatingMonitorProfiler/Utilities/ILRewriter.{h,cpp}
--------------------------------------------------------------------------------
/src/external/runtime/src/coreclr/inc/unreachable.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | // ---------------------------------------------------------------------------
4 | // unreachable.h
5 | // ---------------------------------------------------------------------------
6 |
7 |
8 | #ifndef __UNREACHABLE_H__
9 | #define __UNREACHABLE_H__
10 |
11 | #if defined(_MSC_VER) || defined(_PREFIX_)
12 | #define __UNREACHABLE() __assume(0)
13 | #else
14 | #define __UNREACHABLE() __builtin_unreachable()
15 | #endif
16 |
17 | #endif // __UNREACHABLE_H__
18 |
19 |
--------------------------------------------------------------------------------
/src/external/runtime/src/coreclr/pal/inc/rt/oaidl.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | //
4 |
5 | //
6 | // ===========================================================================
7 | // File: oaidl.h
8 | //
9 | // ===========================================================================
10 |
11 | #ifndef __OAIDL_H__
12 | #define __OAIDL_H__
13 |
14 | // Pointer to IErrorInfo is still used in non-Windows code
15 | // Prevent accidentally using its member
16 | struct IErrorInfo;
17 |
18 | #endif //__OAIDL_H__
19 |
--------------------------------------------------------------------------------
/src/external/runtime/src/coreclr/pal/inc/rt/ole2.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | //
4 |
5 | //
6 | // dummy ole2.h for PAL
7 |
8 | #include "objidl.h"
9 | #include "servprov.h"
10 | #include "oaidl.h"
11 |
12 |
--------------------------------------------------------------------------------
/src/external/runtime/src/coreclr/pal/inc/rt/rpcndr.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | //
4 |
5 | //
6 | // ===========================================================================
7 | // File: rpcndr.h
8 | //
9 | // ===========================================================================
10 | // dummy rpcndr.h for PAL
11 |
12 | #ifndef __RPCNDR_H__
13 | #define __RPCNDR_H__
14 |
15 | #ifndef __RPCNDR_H_VERSION__
16 | #define __RPCNDR_H_VERSION__
17 | #endif
18 |
19 | #endif // __RPCNDR_H__
20 |
--------------------------------------------------------------------------------
/src/external/runtime/src/coreclr/pal/inc/rt/windows.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | //
4 |
5 | //
6 | // ===========================================================================
7 | // File: windows.h
8 | //
9 | // ===========================================================================
10 | // dummy windows.h for PAL
11 |
12 | #include "palrt.h"
13 |
--------------------------------------------------------------------------------
/src/external/runtime/src/coreclr/pal/inc/rt/winerror.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 | //
4 |
5 | //
6 | // ===========================================================================
7 | // File: winerror.h
8 | //
9 | // ===========================================================================
10 | // dummy winerror.h for PAL
11 |
12 | #include "palrt.h"
13 |
--------------------------------------------------------------------------------
/src/inc/guids.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | #define MAKE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
7 | EXTERN_C const GUID name = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
8 |
9 | MAKE_GUID(GUID_NULL, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
10 | MAKE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
11 | MAKE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
12 |
--------------------------------------------------------------------------------
/src/inc/pal/ntimage.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | // Stub file to allow PAL headers to be included without including platform specific implementations.
7 | // Native code should call appropriate C++ standard APIs and drop down to platform APIs when necessary.
8 |
--------------------------------------------------------------------------------
/src/inc/pal/pal_assert.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | // Stub file to allow PAL headers to be included without including platform specific implementations.
7 | // Native code should call appropriate C++ standard APIs and drop down to platform APIs when necessary.
8 |
9 | #define _ASSERTE(e) ((void)0)
10 |
11 | #ifndef assert
12 | #define assert(e) _ASSERTE(e)
13 | #endif
14 |
--------------------------------------------------------------------------------
/src/inc/pal/pal_error.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | // Stub file to allow PAL headers to be included without including platform specific implementations.
7 | // Native code should call appropriate C++ standard APIs and drop down to platform APIs when necessary.
8 |
--------------------------------------------------------------------------------
/src/inc/pal/safecrt.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | // Stub file to allow PAL headers to be included without including platform specific implementations.
7 | // Native code should call appropriate C++ standard APIs and drop down to platform APIs when necessary.
8 |
--------------------------------------------------------------------------------
/src/inc/pal/safemath.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | // Stub file to allow PAL headers to be included without including platform specific implementations.
7 | // Native code should call appropriate C++ standard APIs and drop down to platform APIs when necessary.
8 |
9 | // PAL relies on safemath.h to bring in type_traits under C++ linkage
10 | #ifdef PAL_STDCPP_COMPAT
11 | #include
12 | #endif
13 |
--------------------------------------------------------------------------------
/src/inc/tostream.h:
--------------------------------------------------------------------------------
1 | // Licensed to the .NET Foundation under one or more agreements.
2 | // The .NET Foundation licenses this file to you under the MIT license.
3 |
4 | #pragma once
5 |
6 | #include
7 | #include "tstring.h"
8 |
9 | std::ostream& operator<<(std::ostream& os, const tstring& tstr)
10 | {
11 | os << to_string(tstr);
12 | return os;
13 | }
14 |
--------------------------------------------------------------------------------
/src/singlefile/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | .exe
6 |
7 | $(DefaultRuntimeIdentifiers)
8 |
9 |
--------------------------------------------------------------------------------
/src/singlefile/dotnet-monitor/Common.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | $(LatestTargetFramework)
4 | $(TargetFramework)
5 | $(ArtifactsDir)pub\dotnet-monitor\$(Configuration)\$(DotnetMonitorPublishTargetFramework)\$(PackageRid)\
6 |
7 | $(DotnetMonitorPublishBasePath)sfb\
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/singlefile/dotnet-monitor/ProjectsToBuild.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TargetFramework=$(LatestTargetFramework);RuntimeIdentifier=$(PackageRid)
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/singlefile/dotnet-monitor/ProjectsToPublish.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | TargetFramework=$(DotnetMonitorPublishTargetFramework);RuntimeIdentifier=$(PackageRid);PublishDir=$(DotnetMonitorPublishSfbPath);PublishSingleFile=true;SelfContained=true
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/singlefile/dotnet-monitor/dotnet-monitor-singlefile.proj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | dotnet-monitor
6 | $(DotnetMonitorPublishTargetFramework)
7 |
8 |
9 |
--------------------------------------------------------------------------------
/test.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | source="${BASH_SOURCE[0]}"
4 |
5 | # resolve $SOURCE until the file is no longer a symlink
6 | while [[ -h $source ]]; do
7 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
8 | source="$(readlink "$source")"
9 |
10 | # if $source was a relative symlink, we need to resolve it relative to the path where the
11 | # symlink file was located
12 | [[ $source != /* ]] && source="$scriptroot/$source"
13 | done
14 |
15 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
16 | "$scriptroot/eng/common/build.sh" --test $@
17 |
--------------------------------------------------------------------------------