Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Upgrade non windows native builds to C++17 (DataDog/dd-trace-dotnet#1543) * Upgrade macos build to cpp 17 * Fixes linux build Change native format to Microsoft style (DataDog/dd-trace-dotnet#1544) * clang-format with Microsoft style * Improve formatting Add small CI fix and docker optimization (DataDog/dd-trace-dotnet#1551) * Use a build image that is cached on the hosted windows agents, as defined here: https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md#cached-docker-images * Fix additional errors with newline character endings Ducktype - Explicit interface method implementation support (DataDog/dd-trace-dotnet#1555) * Adds explicit interface implementation support to DuckTyping * Add support for wildcard. Update ci provider extractor according to specs (DataDog/dd-trace-dotnet#1554) * Update ci provider extractor according to specs * fixes Replace calli call with a normal call if the target method is a generic method. (DataDog/dd-trace-dotnet#1557) Change native format to custom style (DataDog/dd-trace-dotnet#1553) * Change format to custom * changes * changes * Fix for windows Modify CustomSerilogLogProvider to use older LogContext.PushProperties API when LogContext.Push API is not present (DataDog/dd-trace-dotnet#1560) This PR fixes a gap we have today: when the application's Serilog library is old enough that it does not have the LogContext.Push API, we fail to set up our logs injection. The solution involves the following changes: 1. Override the IsLoggerAvailable check to only return true when either the LogContext.Push API is available or the LogContext.PushProperties API is available. Otherwise, this returns false and the built-in LibLog SerilogLogProvider will be used. 2. Update the SerilogEnricher to optionally pass in the enricher object by itself or an array containing the enricher object, based on the Serilog API used for LogContext updates. Enable calltarget by default on .NET 4.6+ runtimes (DataDog/dd-trace-dotnet#1542) * Enable calltarget by default on .NET 4.6+ runtimes Merge hotfix 1.27.1 (DataDog/dd-trace-dotnet#1547) * Bump version to 1.27.1 (DataDog/dd-trace-dotnet#1538) * Custom native IsAlreadyLoaded() implementation for .NET 4.5.x (open-telemetry#1528) (DataDog/dd-trace-dotnet#1539) * Split IsAlreadyLoaded() implementation depending of the .NET Framework version (<4.6) * change comment. (cherry picked from commit 13cdc48) Co-authored-by: Tony Redondo <[email protected]> * copy pipeline triggers from `master` and add `release/*` to ultimate-pipeline (DataDog/dd-trace-dotnet#1545) * run pipelines in hotfix branches (DataDog/dd-trace-dotnet#1546) * fix bad merge conflict resolution * update version in build pipeline Co-authored-by: Tony Redondo <[email protected]> Add support for NestedTypes and GenericParameters to EnsureTypeVisibility (DataDog/dd-trace-dotnet#1561) * Add more ducktyping tests for explict interfaces * Add a duck typing test reproducing the specific ILogger issue * Improves EnsuresTypeVisibility with support for NestedTypes and GenericParameters. Co-authored-by: Tony Redondo <[email protected]> Initialize performance counters asynchronously (DataDog/dd-trace-dotnet#1564) Remove callsite benchmarks and set iteration time back to 2 seconds (DataDog/dd-trace-dotnet#1511) Nuke build: overwrite files when copying trace home directory (DataDog/dd-trace-dotnet#1567) Wait 10 more seconds on runtime metrics tests (DataDog/dd-trace-dotnet#1566) hide warnings for EOL .NET Core targets (DataDog/dd-trace-dotnet#1569) Use a UUID for runtime-id instead of container id (DataDog/dd-trace-dotnet#1548) * Use a UUID for runtime-id instead of container id Fix x86 builds in consolidated pipeline (DataDog/dd-trace-dotnet#1563) * Rename platform -> buildPlatform Nuke uses the Platform variable to switch between x86/x64 We could also explicitly add `-Platform $(buildPlatform)`; the current approach sets it implicitly * Add missing build configs for WebForms project * Update Nuke integration test runs to use x86 SDK when set to x86 Attempting to load the x86 compiled libs into the x64 bit process causes BadImageFormatExceptions * Add templates for installing the 32 bit .NET SDKs Install the x86 SDKs in Windows integration tests * Add check for using install-dotnet-sdk-32bit wrong Fix race condition in PerformanceCountersListenerTests (DataDog/dd-trace-dotnet#1573) Revert the order in which the log providers are resolved (DataDog/dd-trace-dotnet#1578) Update README (DataDog/dd-trace-dotnet#1576) Reduce dependencies between build tools and helper projects (DataDog/dd-trace-dotnet#1568) * reduce dependencies by using EnvironmentTools.GetSolutionDirectory() instead of EnvironmentHelpers * add TracerVersion to SetAllVersions * remove unused code * remove dependency on Datadog.Core.Tools * add xml-doc comments * make SetAllVersions non-static to remove the static properties and pass path as ctor argument CI tweaks (DataDog/dd-trace-dotnet#1570) * Extract ARM64 jobs from linux The linux hosts have different availability to the linux jobs, so reduces unnecessary blocking if one or the others are not available. As a side effect of splitting these out, it reduces the size of the strategy matrix variables too. * Increase startup timeout on CosmosDB emulator * Don't use Console.Writeline in xUnit tests Adds cruft to otherwise successful test runs * "simplify" the benchmarks/throughput test variables Previously we had two variables to control whether to run the benchmarks, but as there's already a UI for selecting which stages to run, this seems redundant. We are likely going to start running other stages on a scheduled build too, so exposing that directly makes more sense I think * Add a step to the pipeline to upload to the Azure feed Pulls down all our "publish" artefacts and publishes them all as a universal package * Add missing Arm64 dependencies * Fix version extraction * Create a bundled "release" artifact * Fix version number in artifact * Set Platform when publishing This only seems to be necessary locally, but I'm not entirely sure why! * Fix dd-tracer-home Delete old unused pipelines and files (DataDog/dd-trace-dotnet#1513) * Move iis dockerfile to live with others * Remove other pipelines (all handled by ultimate-pipeline) * Remove no-longer-necessary docker-compose targets * Delete unused dockerfiles and scripts * Remove sample targets in docker-compose.yml Somewhat opinionated, but as services are exposed on ports anyway, just as easy to run samples locally instead (Also, there's a nuke target for that) * Start annotating which proj targets we actually use * Remove unused targets from Datadog.Trace.proj * This isn't the YAML you're looking for... * Remove deleted files from solution folder * Remove deleted file from SetAllVersions * Delete unused Samples-iis.sln Fixes writing the environment values in the logs on non windows platforms. (DataDog/dd-trace-dotnet#1581) fix "PrepareRelease msi" command (DataDog/dd-trace-dotnet#1583) Add support for Microsoft.Data.SqlClient 3.* (DataDog/dd-trace-dotnet#1579) * Add support for Microsoft.Data.SqlClient 3.* Fix flaky Kafka test (DataDog/dd-trace-dotnet#1585) In Confluent.Kafka 1.5.3, attempting to consume from a non-existent topic throws an exception. Catching the exception isn't enough, as it causes the consumer to no longer consume, even if the topic does exist later. In the sample app, there was a race condition, whereby if the topic hadn't completely finished being created, the consumer would fail, causing the test to fail. As a workaround, we use a separate consumer for the initial "manual" consumes, to give time for the topic to be ready. To ensure the fix works, we also _explicitly_ consume against a non-existent topic, to ensure we are expecting those errors. > Note, I tried converting this test to snapshot testing, but the actual number of spans is indeterminate, as we can get multiple consume spans for a single message, which makes snapshot testing difficult. Small ASP.NET Snapshot refactoring (DataDog/dd-trace-dotnet#1580) * Update VerifyHelper to reorder tags in snapshots Obviously, being a dictionary, the enumeration order is technically indeterminate, but in practice, this reordering seems to work, and is necessary where the order tags are added to the span at the source may change per invocation * Move snapshots into a Snaphots sub folder Lose the benefits of code folding in VS/Rider, but there's so many, it's too unwieldy within GitHub/filesystem currently * Move ASP.NET Snapshots to sub folder * Update aspnet snapshots to reorder tags and add missing runtime-id * Fix directory char in samples directory Uses correct character regardless of OS This was causing some issues with IisExpress for me locally * Don't pass executable AND applicationPath to StartProcess I personally found this really confusing, especially when it comes to aspnetcore, and has clearly evolved a lot - there's two paths passed to it, sometimes one is executed, sometimes the other etc. Plus double negatives. Instead, I pass the executable, add applicationPath to args if necessary in the callee, and explicitly allow passing the process to profile (optional). I think that makes things a bit clearer, but it could do with more refactoring, and reducing of duplication tbh. * Allow specifying how many web server spans are expected in TestHelper Revert "Delete old unused pipelines and files (open-telemetry#1513)" (DataDog/dd-trace-dotnet#1588) This reverts commit 3d3269c. Don't create an azure artifact (DataDog/dd-trace-dotnet#1589) It has the potential to cause issues if storage fills up, and was only created to make programmatic consumption easier. We can reevaluate at a later date
- Loading branch information