Commit Graph

30 Commits

Author SHA1 Message Date
Igor Kiselev 6e307db05b
Automatic LoaderOptimization.SingleDomain (#4187)
* All non-default app domains use LoaderOptimization.SingleDomain

Solves "Loading this assembly would produce a different grant set from other instances" for IIS .Net Framework applications.
__DDVoidMethodType__  injected to mscorlib.
__DDVoidMethodType__.__DDPatchAppDomainSetup__ use reflection-created delegate that calls
OpenTelemetry.AutoInstrumentation.Loader.AppConfigUpdater.ModifyConfig to modify AppDomainSetup by setting LoaderOptimization.SingleDomain.
That method called from AppDomain.CreateDomain and AppDomainManager.CreateDomainHelper.
OpenTelemetry.AutoInstrumentation.Loader.AppConfigUpdater loader assembly loaded from __DDVoidMethodType__ static ctor.
Added helpers: SignatureBuilder and MemberResolver.

* Added installer parameter to skip GAC registration

Added Asp.Net tests without registration assemblies in GAC.
Removed LoaderOptimization=SingleDomain through registry change for ASP.Net tests.

* Removed LoaderOptimization workaround from test dockerfiles

* Code format applied

* Updated test build to produce no-GAC docker images

* Extended  SignatureBuilder by providing semi-safe wrappers

Moved it to be header-only.
Added unit tests for SignatureBuilder.

* Updated change log and documentation

* Removed Troubleshooting link from IIS instrumentation docs

* Fixed accident docker file changes

* Added comment about callers of AppConfigUpdater.ModifyConfig

* Update CHANGELOG.md typo based on review

Co-authored-by: Chris Ventura <45495992+nrcventura@users.noreply.github.com>

* Smaller cleanups

* Minor names/comments changes based on @zacharycmontoya review

* Fixed formatting

* Make AppConfigUpdater internal

---------

Co-authored-by: Chris Ventura <45495992+nrcventura@users.noreply.github.com>
2025-05-12 13:39:04 +02:00
Piotr Kiełkowicz 7142cf8104
Nuke update GenerateNetFxTransientDependencies (#4192)
to include existing condition in props file
2025-05-07 07:39:48 +00:00
Piotr Kiełkowicz b07874afc4
OpenSSF Scorecard - pin docker images to exact digest - ASP.NET Framework (#4124) 2025-04-03 12:06:34 +02:00
Piotr Kiełkowicz 0215924bb1
OpenSSF Scorecard - pin docker images to exact digest (#4122) 2025-04-02 15:26:12 +02:00
Yevhenii Solomchenko 253f173049
Bytecode instrumentation MongoDB (#3845)
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2024-12-10 09:43:12 +01:00
dependabot[bot] 1118dac617
Bump Nuke.Common from 8.1.4 to 9.0.2 (#3852)
* Bump Nuke.Common from 8.1.4 to 9.0.2

Bumps [Nuke.Common](https://github.com/nuke-build/nuke) from 8.1.4 to 9.0.2.
- [Release notes](https://github.com/nuke-build/nuke/releases)
- [Changelog](https://github.com/nuke-build/nuke/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/nuke-build/nuke/compare/8.1.4...9.0.2)

---
updated-dependencies:
- dependency-name: Nuke.Common
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump nuke.globaltool from 8.1.4 to 9.0.2

Bumps [nuke.globaltool](https://github.com/nuke-build/nuke) from 8.1.4 to 9.0.2.
- [Release notes](https://github.com/nuke-build/nuke/releases)
- [Changelog](https://github.com/nuke-build/nuke/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/nuke-build/nuke/compare/8.1.4...9.0.2)

---
updated-dependencies:
- dependency-name: nuke.globaltool
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* drop unneeded dependency

* build fixes

* Fix passing arguments by SetApplicationArguments on DotNetSettings

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2024-12-03 18:51:08 +01:00
Mateusz Łach 52d169a744
[WCF] Fix WCF instrumentation initialization (#3650) 2024-09-20 06:55:45 +00:00
dependabot[bot] 6fcae9a4e3
Bump Nuke from 8.0.0 to 8.1.0 (#3625)
* Bump nuke.globaltool from 8.0.0 to 8.1.0

Bumps [nuke.globaltool](https://github.com/nuke-build/nuke) from 8.0.0 to 8.1.0.
- [Release notes](https://github.com/nuke-build/nuke/releases)
- [Changelog](https://github.com/nuke-build/nuke/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/nuke-build/nuke/compare/8.0.0...8.1.0)

---
updated-dependencies:
- dependency-name: nuke.globaltool
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump Nuke.Common to 8.1.0

* Avoid using obsolete methods

* build project - cleanup usings

* Workaround for changes in 8.1.0

18efbd9836

* typo fix

* Fix RollFrameworkForward

* Fix nuget build

* Update dotnet-tools.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2024-09-12 09:57:14 +00:00
Piotr Kiełkowicz e0c2264534
Follow Strong Named convention from main repository (#3480) 2024-07-04 06:31:35 +02:00
Piotr Kiełkowicz 9b260c67ec
Continuous profiler - test application (#3084)
Co-authored-by: Mateusz Łach <mateusza@splunk.com>
Co-authored-by: Robert Pająk <rpajak@splunk.com>
2023-12-01 19:37:13 +01:00
Piotr Kiełkowicz 9ccd2174be
Automate script versioning (#2984) 2023-09-29 20:14:19 +02:00
Paulo Janotti 0029acbe4d
GAC build tasks should fail if not Windows Admin (#2850) 2023-08-17 06:36:07 +02:00
Piotr Kiełkowicz 53c11b2b7e
Versioning based on release tag (#2772) 2023-07-27 05:19:30 +00:00
Paulo Janotti 3238c5c27d
Ensure all logs under test-artifacts (#2644) 2023-06-13 06:12:39 +00:00
Paulo Janotti 55ec192a11
Reduce CI time (#2598)
* Cache Restore target

* Fix syntax

* Clean target should be run manually

* Add save NuGet cache action

* Fix restore for build-containers

* Legacy restore for native projects on Windows

* Merge fix

* --no-restore according if packages were cached or not

* Add condition to save the cache

* Separate Workflow target into build and test

* Dedicate one runner for Windows containers tests

* Change the literal to windows-container-tests-only

* Allow TestWorkflow to single TFM

* Separate build tests per TFM

* Remove Assert for invalid TFM

* Coalesce check to GAC install

* Put CI NuGet packages folder in a "typical" dir

* Sort integration test applications

* Revert "Sort integration test applications"

This reverts commit 63e16373f993d0515c02dc62affb162f4012c820.

* Only handle .NET Fx test apps if targeting .NET Fx

* Special case TestApplication.Wcf.Server.NetFramework

* Fix container build (no need to run the tests)

* Fix project selection

* Improve selection of skip for TestApps due to TPM

* Less work on test-build-windows-container-tests-only

* Use existing helper to the the WCF server project

* Measure docker images

* Revert "Measure docker images"

This reverts commit 3217f9c41d.

* Dedicate runner for NativeTests

Fix test-build-native Nuke target

* Share env vars for all jobs in the workflow

* More precise version for actions/cache

* Clean up collection of test logs aka "./build_data/"

* Remove unused "log-dir"

* Improve --containers parameter description

Co-authored-by: Robert Pająk <pellared@hotmail.com>

* Change literal used to run only Windows containers tests

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2023-06-06 15:59:42 -07:00
Piotr Kiełkowicz 5425e26980
ASP.NET test - smoke test in Classic mode (#2595)
* ASP.NET test - smoke test in Classic mode

* dotnet format

---------

Co-authored-by: Chris Ventura <45495992+nrcventura@users.noreply.github.com>
2023-06-02 20:11:02 +00:00
Mateusz Łach 7c28b0e017
Install instrumentation inside container using ps module (#2589)
* install opentelemetry inside container using ps module

* Update test/test-applications/integrations/TestApplication.AspNet.NetFramework/Dockerfile

Co-authored-by: Robert Pająk <pellared@hotmail.com>

* pr feedback

* set shell explicitly

* place temp files in bin dir

---------

Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2023-05-30 09:17:06 -07:00
Mateusz Łach 19f4480590
[WCF] Automated test for iis-hosted service scenario (#2576) 2023-05-26 12:08:39 +02:00
Piotr Kiełkowicz 23aea72241
ASP.NET - auto registration for HttpModule (#2569)
Co-authored-by: Mateusz Łach <mateusza@splunk.com>
2023-05-25 08:57:34 +00:00
dependabot[bot] c27f0eb857
Bump Nuke.Common from 7.0.0 to 7.0.1 (#2534)
* Bump Nuke.Common from 7.0.0 to 7.0.1

Bumps [Nuke.Common](https://github.com/nuke-build/nuke) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/nuke-build/nuke/releases)
- [Changelog](https://github.com/nuke-build/nuke/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/nuke-build/nuke/compare/7.0.0...7.0.1)

---
updated-dependencies:
- dependency-name: Nuke.Common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix breaking changes from 7.0.1

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2023-05-17 07:33:45 +00:00
dependabot[bot] 74987db9ec
Bump Nuke.Common from 6.3.0 to 7.0.0 (#2523)
* Bump Nuke.Common from 6.3.0 to 7.0.0

Bumps [Nuke.Common](https://github.com/nuke-build/nuke) from 6.3.0 to 7.0.0.
- [Release notes](https://github.com/nuke-build/nuke/releases)
- [Changelog](https://github.com/nuke-build/nuke/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/nuke-build/nuke/compare/6.3.0...7.0.0)

---
updated-dependencies:
- dependency-name: Nuke.Common
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump nuke.globaltool from 6.3.0 to 7.0.0

Bumps [nuke.globaltool](https://github.com/nuke-build/nuke) from 6.3.0 to 7.0.0.
- [Release notes](https://github.com/nuke-build/nuke/releases)
- [Changelog](https://github.com/nuke-build/nuke/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/nuke-build/nuke/compare/6.3.0...7.0.0)

---
updated-dependencies:
- dependency-name: nuke.globaltool
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Change the way to reference local tools

* Fix arguments
https://github.com/nuke-build/nuke/issues/1163#issuecomment-1538223635

* Stop using deprecated methods

* Fix deprecated methods

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
2023-05-09 11:16:34 +02:00
Piotr Kiełkowicz 79d38c1a07
MongoDB - instrumenation for .NET Framework (#2390) 2023-04-14 07:55:04 +00:00
Rasmus Kuusmann 6e3a1ec197
Install netfx dlls to GAC for tests (#2164)
* Install netfx dlls to GAC before integration test

* fix run order

* Update tools/GacInstallTool/Program.cs

Co-authored-by: Paulo Janotti <pjanotti@splunk.com>

* remove before

* add packages.props reference

* add comment

* Add possibility to uninstall

* pr feedback

---------

Co-authored-by: Paulo Janotti <pjanotti@splunk.com>
2023-02-07 12:47:54 -08:00
Rasmus Kuusmann 4e578c4b32
Fix transient dependencies generator run order (#2154) 2023-02-02 14:57:43 +00:00
Rasmus Kuusmann b3efbfda11
Generate transient dependencies list (#2073)
* Generate and test transient dependencies list

* revert debugging line

* revert frameworks change

* Skip tests on non windows platform

* Cleanup

* revert GenerateNetFxAssemblyRedirectionSource build

* auto run GenerateNetFxTransientDependencies
2023-01-27 08:35:10 -08:00
Rasmus Kuusmann dd79e41efc
Enable implicit usings (#1966)
* use implicit usings

* enable implicit usings for nuke project

* fixes
2023-01-10 10:03:46 -08:00
Rasmus Kuusmann 8f6f83b688
Refactor solution setup (#1895)
* refactor solution

* fix missing mock project

* fix native windows compile

* run integrations anycpu

* fix test apps platform

* fix win restore

* fix asp.net restore

* fix win legacy restore dir

* fix native restore

* fix legacy restore

* fix missing windows only test apps compile

* cleanup

* Update build/Build.Steps.cs

Co-authored-by: Paulo Janotti <pjanotti@splunk.com>

* Cleanup commented code

* cleanup PublishIisTestApplications

Co-authored-by: Paulo Janotti <pjanotti@splunk.com>
2023-01-08 19:38:47 -08:00
Paulo Janotti de86993d60
Automatic netfx assembly redirection (#1825)
* Redirect assemblies for .NET Fx via CLR profiler

* Bump transitive dependencies to latest

* Revert "Bump transitive dependencies to latest"

This reverts commit e291eb893dbbe11bebccbf1957b01ff56a46f765.

We need some extra work to automate this process and also a friendly way
to register assemblies in the GAC.

* Add NETFX to dot-net.txt

* Link changelog addition to table in config.md

2nd round with changelog text

* Move MapToFolder to Build.Steps.cs

* Restore skip assemblies and prefixes if redirection is off

* Simplify auto generated redirection source file

* Shorten the env var used to control netfx redirection
2022-12-21 19:13:08 +00:00
dependabot[bot] 47a786d2a0
Bump Nuke.Common from 6.2.1 to 6.3.0 in /build (#1837)
* Bump Nuke.Common from 6.2.1 to 6.3.0 in /build

Bumps [Nuke.Common](https://github.com/nuke-build/nuke) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/nuke-build/nuke/releases)
- [Changelog](https://github.com/nuke-build/nuke/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/nuke-build/nuke/compare/6.2.1...6.3.0)

---
updated-dependencies:
- dependency-name: Nuke.Common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump nuke.globaltool to 6.3.0

* Nuke breaking change - now we can have only one OnlyWhen condition

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Paulo Janotti <pjanotti@splunk.com>
2022-12-20 09:54:28 -08:00
Robert Pająk 0458c2057b
Repository organization cleanup (#1391)
* Repository organization cleanup

* Fix .sln

Co-authored-by: Paulo Janotti <pjanotti@splunk.com>
2022-10-10 21:18:21 +00:00