Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Dynamic Instrumentation] Upload symbols to SymDB (with System.Reflec…
…tion.Metadata) (#4782) * Initial commit for upload symbols * Add sym db api endpoint and remove blockingcollection * Tests WIP * Add tests and fixed issue after Oskar's review * Add service version and environment * Fix NRE and reset byte index after clearing array * PR comments and more fixes * Add discovery service sand environment variable to enable\disable symbols upload * Tests WIP * Refactor SymbolExtractor class and support of compiler generated methods and types * Change keys to snake_case * Change the way we are waiting for a discovery service notification about symbol database endpoint * Extract ShouldRetry logic and simplify get delay time * Fix build and update tests * Partial class test * Update local function test * revert SourceLinkInformationExtractor changes * PR comments * Change symbol batch size from MB to Bytes * Fix build * Fix brolen json and NRE * Fix json, tests and enum string representation * Fix missing method attributes and add class source file * Fix assembly name * Make sure to set Unknown in case there is not source info and set -1 for missing line info * enum names should be SnakeCaseNamingStrategy * update approvals tests * change unknown line numbers to 0 or int.Max * Set unknown for missing assembly path * Unknown method end line should be 0 * Fix missing pdb info in async methods and update approvals * Vendor System.Reflection.Metadata and dependencies * WIP - Replace dnlib with System.Reflection.Metadata * WIP - Replace dnlib with System.Reflection.Metadata #2 * Everything compiles * Now some of the tests work * More work on closures and update tests approvals * All tests are passed * Some strings to spans conversation * Wrap dnlib and reflection metadata pdb usage in DatadogMetadataReader Add more tests * Update vendored code * Revert "Update vendored code" This reverts commit 39efa76. * Update vendored code * Naming and logs * Fix Span and ReadOnlySpan vendored code * Add PrivateAssets="All" * Skip interfaces, methods without IL and more not relevant types * Handle properties and hoisted arguments * Fix pdb related info issues * Fox array out of range in argument symbols * Fix build error * Fixed arguments duplication * Fixed arguments duplication * PR comments * Change log level and text * Fix typo in configuration key * PR comments: configuration keys and error handling * Add test for async method with different kind of locals * Configuration keys * * Add missing closures * Handle hoisted arg as arg and not as local * Change async method locals line number to 0 * * Add LanguageSpecific to field symbols * Add local Scopes * Use memory and span instead of allocating list inside loop * Support local constants * More tests * * Add PdbExist to language specific of class * Fix source start and end column * Improve performance * Add some missing vendored code * Fix CI build * Fix symbol extractor tests to pass CI * Add System.IO.MemoryMappedFiles and System.Resources.ResourceManager to AssemblyReferencesHaveNotChanged test * Update Trimming.xml * Sanitize more symbol fields * Fix tests * Fix vendor version * Change vendored libs version * revert me * Revert "revert me" This reverts commit b98445b. * Try run symbol extractor tests only on windows * Update approvals * Enable nullable * Add SymbolDatabaseIncludes EV * Add `readonly`, `const` and `async` annotations * Symbol DB enablement WIP * Update assembly filter * Update missing-nullability-files * Add VendoredCodeTests * Fix CI tests * Skip AsyncVoid test in linux * Update depenabot versions * Fix compilation error * Update DefinitionPaths * Fix missing field attributes * Fix typo in upload symbols enablement * update nullability --------- Co-authored-by: Matan Green <matangrn@gmail.com>
- Loading branch information