Skip to content

[Dynamic Instrumentation] Remove reference types value from snapshot #6992

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dudikeleti
Copy link
Contributor

Reason for change

The RFC says: value (optional) is the content of the captured data for primitives as a string literal

Implementation details

Delete the value when the type is not primitive and it's not safe to call ToString on that type

Test coverage

All existing snapshot tests

@dudikeleti dudikeleti requested a review from a team as a code owner May 20, 2025 20:41
Copy link
Contributor

Snapshots difference summary

The following differences have been observed in committed snapshots. It is meant to help the reviewer.
The diff is simplistic, so please check some files anyway while we improve it.

2 occurrences of :

-                "type": "AsyncCallChain",
-                "value": "AsyncCallChain"
+                "type": "AsyncCallChain"

2 occurrences of :

-                "type": "AsyncFieldArgumentEntryFullSnapshot",
-                "value": "AsyncFieldArgumentEntryFullSnapshot"
+                "type": "AsyncFieldArgumentEntryFullSnapshot"

1 occurrences of :

-                "type": "AsyncFieldArgumentLocalExitFullSnapshot",
-                "value": "AsyncFieldArgumentLocalExitFullSnapshot"
+                "type": "AsyncFieldArgumentLocalExitFullSnapshot"

2 occurrences of :

-                "type": "Class",
-                "value": "Class"
+                "type": "Class"
[...]
-                "type": "AsyncInterfaceProperties",
-                "value": "AsyncInterfaceProperties"
+                "type": "AsyncInterfaceProperties"

2 occurrences of :

-                "type": "Class",
-                "value": "Class"
+                "type": "Class"

1 occurrences of :

-                  "type": "Class",
-                  "value": "Class"
+                  "type": "Class"
[...]
-                  "type": "AsyncInterfaceProperties",
-                  "value": "AsyncInterfaceProperties"
+                  "type": "AsyncInterfaceProperties"

2 occurrences of :

-                  "type": "Class",
-                  "value": "Class"
+                  "type": "Class"

10 occurrences of :

-                        "type": "Place",
-                        "value": "Place"
+                        "type": "Place"

10 occurrences of :

-                    "type": "Address",
-                    "value": "Address"
+                    "type": "Address"

6 occurrences of :

-                                "type": "Place",
-                                "value": "Place"
+                                "type": "Place"

6 occurrences of :

-                            "type": "Address",
-                            "value": "Address"
+                            "type": "Address"

6 occurrences of :

-                        "type": "Person",
-                        "value": "Person"
+                        "type": "Person"

10 occurrences of :

-                "type": "Person",
-                "value": "Person"
+                "type": "Person"

2 occurrences of :

-                "type": "Generic",
-                "value": "Generic"
+                "type": "Generic"

7 occurrences of :

-                            "type": "Place",
-                            "value": "Place"
+                            "type": "Place"

7 occurrences of :

-                        "type": "Address",
-                        "value": "Address"
+                        "type": "Address"

3 occurrences of :

-                                "type": "Address",
-                                "value": "Address"
+                                "type": "Address"

3 occurrences of :

-                            "type": "Person",
-                            "value": "Person"
+                            "type": "Person"

3 occurrences of :

-                    "type": "Person",
-                    "value": "Person"
+                    "type": "Person"
[...]
-                "type": "NestedAsyncGenericStruct",
-                "value": "NestedAsyncGenericStruct"
+                "type": "NestedAsyncGenericStruct"

1 occurrences of :

-                "type": "TaskAwaiter",
-                "value": "TaskAwaiter"
+                "type": "TaskAwaiter"

17 occurrences of :

-                      "type": "Place",
-                      "value": "Place"
+                      "type": "Place"

17 occurrences of :

-                  "type": "Address",
-                  "value": "Address"
+                  "type": "Address"

17 occurrences of :

-                  "type": "Place",
-                  "value": "Place"
+                  "type": "Place"

15 occurrences of :

-                              "type": "Place",
-                              "value": "Place"
+                              "type": "Place"

15 occurrences of :

-                          "type": "Address",
-                          "value": "Address"
+                          "type": "Address"

9 occurrences of :

-                      "type": "Person",
-                      "value": "Person"
+                      "type": "Person"

24 occurrences of :

-                          "type": "Place",
-                          "value": "Place"
+                          "type": "Place"

24 occurrences of :

-                      "type": "Address",
-                      "value": "Address"
+                      "type": "Address"

23 occurrences of :

-                                  "type": "Place",
-                                  "value": "Place"
+                                  "type": "Place"

23 occurrences of :

-                              "type": "Address",
-                              "value": "Address"
+                              "type": "Address"

23 occurrences of :

-                          "type": "Person",
-                          "value": "Person"
+                          "type": "Person"

13 occurrences of :

-                  "type": "Person",
-                  "value": "Person"
+                  "type": "Person"

3 occurrences of :

-                  "type": "Generic",
-                  "value": "Generic"
+                  "type": "Generic"

6 occurrences of :

-                                  "type": "Address",
-                                  "value": "Address"
+                                  "type": "Address"

6 occurrences of :

-                              "type": "Person",
-                              "value": "Person"
+                              "type": "Person"

6 occurrences of :

-                      "type": "Person",
-                      "value": "Person"
+                      "type": "Person"
[...]
-                  "type": "NestedAsyncGenericStruct",
-                  "value": "NestedAsyncGenericStruct"
+                  "type": "NestedAsyncGenericStruct"

3 occurrences of :

-                  "type": "TaskAwaiter",
-                  "value": "TaskAwaiter"
+                  "type": "TaskAwaiter"

1 occurrences of :

-                "type": "AsyncMethodInsideTaskRun",
-                "value": "AsyncMethodInsideTaskRun"
+                "type": "AsyncMethodInsideTaskRun"
[...]
-                "type": "AsyncMethodInsideTaskRun",
-                "value": "AsyncMethodInsideTaskRun"
+                "type": "AsyncMethodInsideTaskRun"

1 occurrences of :

-                "type": "AsyncMethodRedactionTest",
-                "value": "AsyncMethodRedactionTest"
+                "type": "AsyncMethodRedactionTest"
[...]
-                "type": "AsyncMethodRedactionTest",
-                "value": "AsyncMethodRedactionTest"
+                "type": "AsyncMethodRedactionTest"

5 occurrences of :

-                "type": "OuterClass",
-                "value": "OuterClass"
+                "type": "OuterClass"

2 occurrences of :

-                "type": "AsyncMethodWithNotHoistedLocals",
-                "value": "AsyncMethodWithNotHoistedLocals"
+                "type": "AsyncMethodWithNotHoistedLocals"

1 occurrences of :

-                "type": "AsyncNoHoistedLocal",
-                "value": "AsyncNoHoistedLocal"
+                "type": "AsyncNoHoistedLocal"
[...]
-                "type": "AsyncNoHoistedLocal",
-                "value": "AsyncNoHoistedLocal"
+                "type": "AsyncNoHoistedLocal"

6 occurrences of :

-                "type": "AsyncRecursiveCall",
-                "value": "AsyncRecursiveCall"
+                "type": "AsyncRecursiveCall"

18 occurrences of :

-                "type": "AsyncRecursiveCallWithMultipleProbes",
-                "value": "AsyncRecursiveCallWithMultipleProbes"
+                "type": "AsyncRecursiveCallWithMultipleProbes"

4 occurrences of :

-                  "type": "Person",
-                  "value": "Person"
+                  "type": "Person"
[...]
-                  "type": "AsyncSpanOnMethodWithArgsTest",
-                  "value": "AsyncSpanOnMethodWithArgsTest"
+                  "type": "AsyncSpanOnMethodWithArgsTest"

4 occurrences of :

-                  "type": "Person",
-                  "value": "Person"
+                  "type": "Person"
[...]
-                  "type": "AsyncSpanOnMethodWithExceptionProbeTest",
-                  "value": "AsyncSpanOnMethodWithExceptionProbeTest"
+                  "type": "AsyncSpanOnMethodWithExceptionProbeTest"

8 occurrences of :

-                    "type": "Room",
-                    "value": "Room"
+                    "type": "Room"

1 occurrences of :

-                "type": "Room",
-                "value": "Room"
+                "type": "Room"

3 occurrences of :

-                "type": "InvalidOperationException",
-                "value": "InvalidOperationException"
+                "type": "InvalidOperationException"

1 occurrences of :

-                "type": "AsyncVoid",
-                "value": "AsyncVoid"
+                "type": "AsyncVoid"
[...]
-                "type": "AsyncVoid",
-                "value": "AsyncVoid"
+                "type": "AsyncVoid"

1 occurrences of :

-                "type": "Pii2",
-                "value": "Pii2"
+                "type": "Pii2"

3 occurrences of :

-                  "type": "ByRefLikeTest",
-                  "value": "ByRefLikeTest"
+                  "type": "ByRefLikeTest"

2 occurrences of :

-                "type": "FixedBlockTest",
-                "value": "FixedBlockTest"
+                "type": "FixedBlockTest"

11 occurrences of :

-                  "type": "GenericByRefLikeTest",
-                  "value": "GenericByRefLikeTest"
+                  "type": "GenericByRefLikeTest"

2 occurrences of :

-                "type": "GenericMethodWithArguments",
-                "value": "GenericMethodWithArguments"
+                "type": "GenericMethodWithArguments"

1 occurrences of :

-                  "type": "GenericMethodWithArguments",
-                  "value": "GenericMethodWithArguments"
+                  "type": "GenericMethodWithArguments"

1 occurrences of :

-                "type": "GenericRefReturnTest",
-                "value": "GenericRefReturnTest"
+                "type": "GenericRefReturnTest"
[...]
-                "type": "GenericRefReturnTest",
-                "value": "GenericRefReturnTest"
+                "type": "GenericRefReturnTest"

1 occurrences of :

-                "type": "NullReferenceException",
-                "value": "NullReferenceException"
+                "type": "NullReferenceException"

1 occurrences of :

-                    "type": "Place",
-                    "value": "Place"
+                    "type": "Place"

1 occurrences of :

-                "type": "Address",
-                "value": "Address"
+                "type": "Address"

2 occurrences of :

-                "type": "GreaterThanArgumentTrueAtEntry",
-                "value": "GreaterThanArgumentTrueAtEntry"
+                "type": "GreaterThanArgumentTrueAtEntry"

1 occurrences of :

-                "type": "GreaterThanArgumentTrueAtExit",
-                "value": "GreaterThanArgumentTrueAtExit"
+                "type": "GreaterThanArgumentTrueAtExit"

1 occurrences of :

-                "type": "GreaterThanDuration",
-                "value": "GreaterThanDuration"
+                "type": "GreaterThanDuration"

1 occurrences of :

-                "type": "GreaterThanField",
-                "value": "GreaterThanField"
+                "type": "GreaterThanField"

1 occurrences of :

-                "type": "GreaterThanFieldAsync",
-                "value": "GreaterThanFieldAsync"
+                "type": "GreaterThanFieldAsync"

2 occurrences of :

-                "type": "HasArgumentsAndLocals",
-                "value": "HasArgumentsAndLocals"
+                "type": "HasArgumentsAndLocals"

2 occurrences of :

-                    "type": "Lazy`1",
-                    "value": "Lazy`1"
+                    "type": "Lazy`1"
[...]
-                "type": "HasFieldLazyValueInitialized",
-                "value": "HasFieldLazyValueInitialized"
+                "type": "HasFieldLazyValueInitialized"

2 occurrences of :

-                    "type": "Lazy`1",
-                    "value": "Lazy`1"
+                    "type": "Lazy`1"
[...]
-                "type": "HasFieldLazyValueNotInitialized",
-                "value": "HasFieldLazyValueNotInitialized"
+                "type": "HasFieldLazyValueNotInitialized"

2 occurrences of :

-                "type": "HasLocalListOfObjects",
-                "value": "HasLocalListOfObjects"
+                "type": "HasLocalListOfObjects"

4 occurrences of :

-                    "type": "Person",
-                    "value": "Person"
+                    "type": "Person"

2 occurrences of :

-                "type": "GenericInstantiation",
-                "value": "GenericInstantiation"
+                "type": "GenericInstantiation"
[...]
-                "type": "Test`1",
-                "value": "Test`1"
+                "type": "Test`1"

2 occurrences of :

-                "type": "HasLocalsAndReturnValue",
-                "value": "HasLocalsAndReturnValue"
+                "type": "HasLocalsAndReturnValue"

3 occurrences of :

-                  "type": "HasLocalsAndReturnValue",
-                  "value": "HasLocalsAndReturnValue"
+                  "type": "HasLocalsAndReturnValue"

2 occurrences of :

-                "type": "HasReturnValue",
-                "value": "HasReturnValue"
+                "type": "HasReturnValue"

1 occurrences of :

-                "type": "Generic",
-                "value": "Generic"
+                "type": "Generic"
[...]
-                "type": "Test`1",
-                "value": "Test`1"
+                "type": "Test`1"

1 occurrences of :

-                "type": "Generic",
-                "value": "Generic"
+                "type": "Generic"
[...]
-                "type": "Test`1",
-                "value": "Test`1"
+                "type": "Test`1"
[...]
-                    "type": "Test`1",
-                    "value": "Test`1"
+                    "type": "Test`1"

2 occurrences of :

-                    "type": "Test`1",
-                    "value": "Test`1"
+                    "type": "Test`1"

2 occurrences of :

-                "type": "InstanceMethodWithArguments",
-                "value": "InstanceMethodWithArguments"
+                "type": "InstanceMethodWithArguments"

1 occurrences of :

-                  "type": "InstanceMethodWithArguments",
-                  "value": "InstanceMethodWithArguments"
+                  "type": "InstanceMethodWithArguments"

2 occurrences of :

-                "type": "InstanceVoidMethod",
-                "value": "InstanceVoidMethod"
+                "type": "InstanceVoidMethod"

3 occurrences of :

-                "type": "Class`1",
-                "value": "Class`1"
+                "type": "Class`1"

2 occurrences of :

-                "type": "Class",
-                "value": "Class"
+                "type": "Class"
[...]
-                "type": "InterfaceProperties",
-                "value": "InterfaceProperties"
+                "type": "InterfaceProperties"

2 occurrences of :

-                  "type": "Class`1",
-                  "value": "Class`1"
+                  "type": "Class`1"

1 occurrences of :

-                  "type": "Class",
-                  "value": "Class"
+                  "type": "Class"
[...]
-                  "type": "InterfaceProperties",
-                  "value": "InterfaceProperties"
+                  "type": "InterfaceProperties"

1 occurrences of :

-                "type": "InvalidCondition",
-                "value": "InvalidCondition"
+                "type": "InvalidCondition"

394 occurrences of :

-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"

13 occurrences of :

-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"
[...]
-                          "type": "BigObject",
-                          "value": "BigObject"
+                          "type": "BigObject"

1 occurrences of :

-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "type": "BigObject",
-                                          "value": "BigObject"
+                                          "type": "BigObject"
[...]
-                                          "pruned": true
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
[...]
-                                          "pruned": true
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
[...]
-                                          "pruned": true
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
[...]
-                                          "pruned": true
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
[...]
-                                          "pruned": true
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
[...]
-                                          "pruned": true
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
[...]
-                                          "pruned": true
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
[...]
-                                  "type": "BigObject",
-                                  "value": "BigObject"
-                                },
-                                {
-                                  "fields": {
-                                    "AtoZ": {
-                                      "type": "String",
-                                      "value": "The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog."
-                                    },
-                                    "Children": {
-                                      "pruned": true
-                                    }
-                                  },
-                                  "type": "BigObject",
-                                  "value": "BigObject"
-                                },
-                                {
-                                  "fields": {
-                                    "AtoZ": {
-                                      "type": "String",
-                                      "value": "The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog."
-                                    },
-                                    "Children": {
-                                      "pruned": true
-                                    }
-                                  },
-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"

168 occurrences of :

-                                      "pruned": true
+                                      "elements": [
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        }
+                                      ],
+                                      "size": 30,
+                                      "type": "List`1"
[...]
-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"

1 occurrences of :

-                                      "pruned": true
+                                      "elements": [
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        }
+                                      ],
+                                      "size": 30,
+                                      "type": "List`1"
[...]
-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"
+                                },
+                                {
+                                  "fields": {
+                                    "AtoZ": {
+                                      "type": "String",
+                                      "value": "The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog."
+                                    },
+                                    "Children": {
+                                      "elements": [
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        }
+                                      ],
+                                      "size": 30,
+                                      "type": "List`1"
+                                    }
+                                  },
+                                  "type": "BigObject"
+                                },
+                                {
+                                  "fields": {
+                                    "AtoZ": {
+                                      "type": "String",
+                                      "value": "The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog."
+                                    },
+                                    "Children": {
+                                      "elements": [
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        }
+                                      ],
+                                      "size": 30,
+                                      "type": "List`1"
+                                    }
+                                  },
+                                  "type": "BigObject"
[...]
-                          "type": "BigObject",
-                          "value": "BigObject"
+                          "type": "BigObject"

5 occurrences of :

-                                      "pruned": true
+                                      "elements": [
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        }
+                                      ],
+                                      "size": 30,
+                                      "type": "List`1"
[...]
-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"
[...]
-                          "type": "BigObject",
-                          "value": "BigObject"
+                          "type": "BigObject"

1 occurrences of :

-                                      "pruned": true
+                                      "elements": [
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "notCapturedReason": "depth",
+                                          "type": "BigObject"
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        },
+                                        {
+                                          "pruned": true
+                                        }
+                                      ],
+                                      "size": 30,
+                                      "type": "List`1"
[...]
-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"

304 occurrences of :

-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"

10 occurrences of :

-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"
[...]
-                          "type": "BigObject",
-                          "value": "BigObject"
+                          "type": "BigObject"

1 occurrences of :

-                                  "type": "BigObject",
-                                  "value": "BigObject"
+                                  "type": "BigObject"
[...]
-                          "type": "BigObject",
-                          "value": "BigObject"
+                          "type": "BigObject"
[...]
-                  "type": "BigObject",
-                  "value": "BigObject"
+                  "type": "BigObject"
[...]
-                  "type": "LargeSnapshotTest",
-                  "value": "LargeSnapshotTest"
+                  "type": "LargeSnapshotTest"

1 occurrences of :

-                  "type": "LineConditionFullSnapshot",
-                  "value": "LineConditionFullSnapshot"
+                  "type": "LineConditionFullSnapshot"

2 occurrences of :

-                "type": "LineProbesWithRevertTest",
-                "value": "LineProbesWithRevertTest"
+                "type": "LineProbesWithRevertTest"

16 occurrences of :

-                  "type": "LineProbesWithRevertTest",
-                  "value": "LineProbesWithRevertTest"
+                  "type": "LineProbesWithRevertTest"

1 occurrences of :

-                  "type": "LineTemplateFullSnapshot",
-                  "value": "LineTemplateFullSnapshot"
+                  "type": "LineTemplateFullSnapshot"

1 occurrences of :

-                "type": "ManyLocals",
-                "value": "ManyLocals"
+                "type": "ManyLocals"
[...]
-                "type": "ManyLocals",
-                "value": "ManyLocals"
+                "type": "ManyLocals"

2 occurrences of :

-                "type": "MethodThrowExceptionTest",
-                "value": "MethodThrowExceptionTest"
+                "type": "MethodThrowExceptionTest"

1 occurrences of :

-                  "type": "MethodThrowExceptionTest",
-                  "value": "MethodThrowExceptionTest"
+                  "type": "MethodThrowExceptionTest"

4 occurrences of :

-                  "type": "ExternalTest",
-                  "value": "ExternalTest"
+                  "type": "ExternalTest"

3 occurrences of :

-                "type": "MultiProbeTest",
-                "value": "MultiProbeTest"
+                "type": "MultiProbeTest"

1 occurrences of :

-                  "type": "MultiProbeTest",
-                  "value": "MultiProbeTest"
+                  "type": "MultiProbeTest"

3 occurrences of :

-                "type": "MultiProbeWithSpanTest",
-                "value": "MultiProbeWithSpanTest"
+                "type": "MultiProbeWithSpanTest"

1 occurrences of :

-                  "type": "MultiProbeWithSpanTest",
-                  "value": "MultiProbeWithSpanTest"
+                  "type": "MultiProbeWithSpanTest"

4 occurrences of :

-                  "type": "MultiScopesWithSameLocalNameTest",
-                  "value": "MultiScopesWithSameLocalNameTest"
+                  "type": "MultiScopesWithSameLocalNameTest"

2 occurrences of :

-                "type": "MultidimensionalArrayTest",
-                "value": "MultidimensionalArrayTest"
+                "type": "MultidimensionalArrayTest"

2 occurrences of :

-                "type": "MultipleLineProbes",
-                "value": "MultipleLineProbes"
+                "type": "MultipleLineProbes"

5 occurrences of :

-                  "type": "MultipleLineProbes",
-                  "value": "MultipleLineProbes"
+                  "type": "MultipleLineProbes"

2 occurrences of :

-                "type": "NormalStruct",
-                "value": "NormalStruct"
+                "type": "NormalStruct"

1 occurrences of :

-                "type": "NotSupportedFailureTest",
-                "value": "NotSupportedFailureTest"
+                "type": "NotSupportedFailureTest"

1 occurrences of :

-                "type": "NotSupportedFailureTest",
-                "value": "NotSupportedFailureTest"
+                "type": "NotSupportedFailureTest"
[...]
-                "type": "NormalStruct",
-                "value": "NormalStruct"
+                "type": "NormalStruct"
[...]
-                "type": "NormalStruct",
-                "value": "NormalStruct"
+                "type": "NormalStruct"

5 occurrences of :

-                  "type": "NotSupportedFailureTest",
-                  "value": "NotSupportedFailureTest"
+                  "type": "NotSupportedFailureTest"

1 occurrences of :

-                  "type": "NormalStruct",
-                  "value": "NormalStruct"
+                  "type": "NormalStruct"

1 occurrences of :

-                  "type": "NotSupportedFailureTest",
-                  "value": "NotSupportedFailureTest"
+                  "type": "NotSupportedFailureTest"
[...]
-                  "type": "NormalStruct",
-                  "value": "NormalStruct"
+                  "type": "NormalStruct"

2 occurrences of :

-                "type": "Generic",
-                "value": "Generic"
+                "type": "Generic"
[...]
-                "type": "OpenGenericMethodInDerivedGenericType",
-                "value": "OpenGenericMethodInDerivedGenericType"
+                "type": "OpenGenericMethodInDerivedGenericType"

2 occurrences of :

-                "type": "Generic",
-                "value": "Generic"
+                "type": "Generic"
[...]
-                "type": "Test2`1",
-                "value": "Test2`1"
+                "type": "Test2`1"

1 occurrences of :

-                "type": "PinnedLocal",
-                "value": "PinnedLocal"
+                "type": "PinnedLocal"
[...]
-                "type": "PinnedLocal",
-                "value": "PinnedLocal"
+                "type": "PinnedLocal"
+              }
+            },
+            "locals": {
+              "p": {
+                "type": "Char",
+                "value": "h"

22 occurrences of :

-                "type": "RecursionWithInnerRefStructTest",
-                "value": "RecursionWithInnerRefStructTest"
+                "type": "RecursionWithInnerRefStructTest"

20 occurrences of :

-                    "type": "Object",
-                    "value": "Object"
+                    "type": "Object"
[...]
-                "type": "Func`2",
-                "value": "Func`2"
+                "type": "Func`2"

2 occurrences of :

-                "type": "RedactionTest",
-                "value": "RedactionTest"
+                "type": "RedactionTest"
[...]
-                "type": "RedactionTest",
-                "value": "RedactionTest"
+                "type": "RedactionTest"

2 occurrences of :

-                "type": "IAmOkType",
-                "value": "IAmOkType"
+                "type": "IAmOkType"

1 occurrences of :

-                "type": "RedactMeTypeA",
-                "value": "RedactMeTypeA"
+                "type": "RedactMeTypeA"

1 occurrences of :

-                "type": "RedactMeTypeB",
-                "value": "RedactMeTypeB"
+                "type": "RedactMeTypeB"

1 occurrences of :

-                "type": "AnotherRedactMeTypeB",
-                "value": "AnotherRedactMeTypeB"
+                "type": "AnotherRedactMeTypeB"

4 occurrences of :

-                "type": "SimpleMethodWithLocalsAndArgsTest",
-                "value": "SimpleMethodWithLocalsAndArgsTest"
+                "type": "SimpleMethodWithLocalsAndArgsTest"

4 occurrences of :

-                "type": "NestedType",
-                "value": "NestedType"
+                "type": "NestedType"

4 occurrences of :

-                "type": "IntentionalDebuggerException",
-                "value": "IntentionalDebuggerException"
+                "type": "IntentionalDebuggerException"

2 occurrences of :

-                "type": "SimpleTypeNameInGlobalNamespaceTest",
-                "value": "SimpleTypeNameInGlobalNamespaceTest"
+                "type": "SimpleTypeNameInGlobalNamespaceTest"

2 occurrences of :

-                "type": "SimpleTypeNameTest",
-                "value": "SimpleTypeNameTest"
+                "type": "SimpleTypeNameTest"

1 occurrences of :

-                  "type": "Person",
-                  "value": "Person"
+                  "type": "Person"
[...]
-                  "type": "SpanOnMethodWithArgsTest",
-                  "value": "SpanOnMethodWithArgsTest"
+                  "type": "SpanOnMethodWithArgsTest"

2 occurrences of :

-                  "type": "Person",
-                  "value": "Person"
+                  "type": "Person"
[...]
-                  "type": "SpanOnMethodWithExceptionProbeTest",
-                  "value": "SpanOnMethodWithExceptionProbeTest"
+                  "type": "SpanOnMethodWithExceptionProbeTest"

2 occurrences of :

-                "type": "TemplateWithDurationAtEntry",
-                "value": "TemplateWithDurationAtEntry"
+                "type": "TemplateWithDurationAtEntry"

2 occurrences of :

-                "type": "TemplateWithLocalAtEntry",
-                "value": "TemplateWithLocalAtEntry"
+                "type": "TemplateWithLocalAtEntry"

2 occurrences of :

-                "type": "TemplateWithLocalAtExit",
-                "value": "TemplateWithLocalAtExit"
+                "type": "TemplateWithLocalAtExit"

4 occurrences of :

-                  "type": "TryCatchTest",
-                  "value": "TryCatchTest"
+                  "type": "TryCatchTest"

1 occurrences of :

-                "type": "TryFinallyMethodAndLine",
-                "value": "TryFinallyMethodAndLine"
+                "type": "TryFinallyMethodAndLine"

1 occurrences of :

-                "type": "TryFinallyMethodAndLine",
-                "value": "TryFinallyMethodAndLine"
+                "type": "TryFinallyMethodAndLine"
[...]
-                "type": "ParseContext",
-                "value": "ParseContext"
+                "type": "ParseContext"

1 occurrences of :

-                  "type": "TryFinallyMethodAndLine",
-                  "value": "TryFinallyMethodAndLine"
+                  "type": "TryFinallyMethodAndLine"

2 occurrences of :

-                  "type": "TryFinallyMethodAndLine",
-                  "value": "TryFinallyMethodAndLine"
+                  "type": "TryFinallyMethodAndLine"
[...]
-                  "type": "ParseContext",
-                  "value": "ParseContext"
+                  "type": "ParseContext"

1 occurrences of :

-                  "type": "TryFinallyTest",
-                  "value": "TryFinallyTest"
+                  "type": "TryFinallyTest"

1 occurrences of :

-                "type": "UndefinedValue",
-                "value": "UndefinedValue"
+                "type": "UndefinedValue"

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented May 20, 2025

Datadog Report

All test runs 239ec0b 🔗

2 Total Test Services: 1 Failed, 1 Passed

Test Services
Service Name Failed Known Flaky New Flaky Passed Skipped Total Time Test Service View
dd-trace-dotnet 217 0 0 205420 3339 30h 17m 39.7s Link
exploration_tests 0 0 0 7433 0 10m 35.58s Link

❌ Failed Tests (217)

This report shows up to 5 failed tests.

  • MethodProbeTest - Datadog.Trace.Debugger.IntegrationTests.ProbesTests - Details

    Expand for error
     Results do not match.
     Differences:
     Received: ProbeTests.ConditionAndTemplateChangeTest_#1..received.txt
     Verified: ProbeTests.ConditionAndTemplateChangeTest_#1..verified.txt
     Received Content:
     [
       {
         "dd.span_id": "ScrubbedValue",
         "dd.trace_id": "ScrubbedValue",
         "ddsource": "dd_debugger",
     ...
    
  • MethodProbeTest - Datadog.Trace.Debugger.IntegrationTests.ProbesTests - Details

    Expand for error
     Results do not match.
     Differences:
     Received: ProbeTests.ConditionAndTemplateChangeTest_#1..received.txt
     Verified: ProbeTests.ConditionAndTemplateChangeTest_#1..verified.txt
     Received Content:
     [
       {
         "dd.span_id": "ScrubbedValue",
         "dd.trace_id": "ScrubbedValue",
         "ddsource": "dd_debugger",
     ...
    
  • MethodProbeTest - Datadog.Trace.Debugger.IntegrationTests.ProbesTests - Details

    Expand for error
     Results do not match.
     Differences:
     Received: ProbeTests.AsyncGenericMethodWithLineProbeTest.received.txt
     Verified: ProbeTests.AsyncGenericMethodWithLineProbeTest.verified.txt
     Received Content:
     [
       {
         "ddsource": "dd_debugger",
         "debugger": {
           "diagnostics": {
     ...
    
  • MethodProbeTest - Datadog.Trace.Debugger.IntegrationTests.ProbesTests - Details

    Expand for error
     Results do not match.
     Differences:
     Received: ProbeTests.PinnedLocal.received.txt
     Verified: ProbeTests.PinnedLocal.verified.txt
     Received Content:
     [
       {
         "dd.span_id": "ScrubbedValue",
         "dd.trace_id": "ScrubbedValue",
         "ddsource": "dd_debugger",
     ...
    
  • MethodProbeTest - Datadog.Trace.Debugger.IntegrationTests.ProbesTests - Details

    Expand for error
     Results do not match.
     Differences:
     Received: ProbeTests.PinnedLocal.received.txt
     Verified: ProbeTests.PinnedLocal.verified.txt
     Received Content:
     [
       {
         "dd.span_id": "ScrubbedValue",
         "dd.trace_id": "ScrubbedValue",
         "ddsource": "dd_debugger",
     ...
    

@andrewlock
Copy link
Member

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.

Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6992) - mean (72ms)  : 68, 77
     .   : milestone, 72,
    master - mean (75ms)  : 68, 82
     .   : milestone, 75,

    section CallTarget+Inlining+NGEN
    This PR (6992) - mean (1,036ms)  : 1012, 1061
     .   : milestone, 1036,
    master - mean (1,054ms)  : 1009, 1099
     .   : milestone, 1054,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6992) - mean (108ms)  : 105, 112
     .   : milestone, 108,
    master - mean (111ms)  : 106, 116
     .   : milestone, 111,

    section CallTarget+Inlining+NGEN
    This PR (6992) - mean (721ms)  : 693, 749
     .   : milestone, 721,
    master - mean (729ms)  : 704, 755
     .   : milestone, 729,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6992) - mean (94ms)  : 91, 97
     .   : milestone, 94,
    master - mean (97ms)  : 92, 101
     .   : milestone, 97,

    section CallTarget+Inlining+NGEN
    This PR (6992) - mean (681ms)  : 662, 701
     .   : milestone, 681,
    master - mean (693ms)  : 656, 729
     .   : milestone, 693,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6992) - mean (190ms)  : 186, 193
     .   : milestone, 190,
    master - mean (190ms)  : 185, 195
     .   : milestone, 190,

    section CallTarget+Inlining+NGEN
    This PR (6992) - mean (1,115ms)  : 1081, 1149
     .   : milestone, 1115,
    master - mean (1,110ms)  : 1086, 1135
     .   : milestone, 1110,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6992) - mean (269ms)  : 265, 273
     .   : milestone, 269,
    master - mean (268ms)  : 264, 271
     .   : milestone, 268,

    section CallTarget+Inlining+NGEN
    This PR (6992) - mean (876ms)  : 847, 906
     .   : milestone, 876,
    master - mean (876ms)  : 846, 905
     .   : milestone, 876,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6992) - mean (262ms)  : 258, 266
     .   : milestone, 262,
    master - mean (261ms)  : 257, 266
     .   : milestone, 261,

    section CallTarget+Inlining+NGEN
    This PR (6992) - mean (871ms)  : 835, 907
     .   : milestone, 871,
    master - mean (869ms)  : 833, 905
     .   : milestone, 869,

Loading

@pr-commenter
Copy link

pr-commenter bot commented May 20, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #99 compared to master:

  • 1 benchmarks are slower, with geometric mean 1.172
  • 4 benchmarks have fewer allocations
  • 6 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #99

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.7 KB 5.77 KB 62 B 1.09%

Fewer allocations 🎉 in #99

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net6.0 5.58 KB 5.53 KB -44 B -0.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.8μs 61.2ns 415ns 0 0 0 5.58 KB
master StartStopWithChild netcoreapp3.1 14μs 72.5ns 355ns 0 0 0 5.7 KB
master StartStopWithChild net472 22.1μs 124ns 844ns 0.994 0.331 0.11 6.12 KB
#99 StartStopWithChild net6.0 10.6μs 58.2ns 354ns 0 0 0 5.53 KB
#99 StartStopWithChild netcoreapp3.1 13.3μs 61.5ns 238ns 0 0 0 5.77 KB
#99 StartStopWithChild net472 22.2μs 123ns 749ns 1.03 0.309 0.103 6.1 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #99

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 3.35 KB 3.31 KB -46 B -1.37%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 938μs 73.3ns 274ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.04ms 679ns 2.63μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.24ms 57.5ns 215ns 0 0 0 3.35 KB
#99 WriteAndFlushEnrichedTraces net6.0 933μs 767ns 2.97μs 0 0 0 2.71 KB
#99 WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 80.3ns 289ns 0 0 0 2.7 KB
#99 WriteAndFlushEnrichedTraces net472 1.2ms 63.3ns 245ns 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 331μs 1.56μs 6.43μs 0 0 0 197.06 KB
master AllCycleSimpleBody netcoreapp3.1 506μs 1.69μs 6.56μs 0 0 0 204.77 KB
master AllCycleSimpleBody net472 440μs 198ns 768ns 36.6 2.16 0 236.35 KB
master AllCycleMoreComplexBody net6.0 338μs 1.77μs 8.28μs 0 0 0 200.56 KB
master AllCycleMoreComplexBody netcoreapp3.1 497μs 1.93μs 7.48μs 0 0 0 208.18 KB
master AllCycleMoreComplexBody net472 447μs 399ns 1.55μs 36.6 2.16 0 239.87 KB
master ObjectExtractorSimpleBody net6.0 321ns 0.394ns 1.47ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 401ns 2.14ns 11.3ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 305ns 0.0135ns 0.0521ns 0.0444 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.19μs 32ns 163ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.75μs 2.53ns 9.82ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.75μs 4.72ns 18.3ns 0.574 0 0 3.8 KB
#99 AllCycleSimpleBody net6.0 327μs 1.46μs 5.66μs 0 0 0 197.06 KB
#99 AllCycleSimpleBody netcoreapp3.1 487μs 2.39μs 9.56μs 0 0 0 204.77 KB
#99 AllCycleSimpleBody net472 439μs 109ns 421ns 36.6 2.16 0 236.35 KB
#99 AllCycleMoreComplexBody net6.0 337μs 1.54μs 6.14μs 0 0 0 200.56 KB
#99 AllCycleMoreComplexBody netcoreapp3.1 485μs 672ns 2.6μs 0 0 0 208.18 KB
#99 AllCycleMoreComplexBody net472 446μs 126ns 489ns 37.9 2.23 0 239.88 KB
#99 ObjectExtractorSimpleBody net6.0 328ns 1.75ns 9.61ns 0 0 0 280 B
#99 ObjectExtractorSimpleBody netcoreapp3.1 396ns 2ns 9.36ns 0 0 0 272 B
#99 ObjectExtractorSimpleBody net472 301ns 0.0674ns 0.261ns 0.0441 0 0 281 B
#99 ObjectExtractorMoreComplexBody net6.0 6.38μs 30.6ns 130ns 0 0 0 3.78 KB
#99 ObjectExtractorMoreComplexBody netcoreapp3.1 7.8μs 22.5ns 84.1ns 0 0 0 3.69 KB
#99 ObjectExtractorMoreComplexBody net472 6.71μs 1.2ns 4.48ns 0.57 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
master EncodeArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master EncodeArgs net472 N/A N/A N/A NaN NaN NaN 0 b
master EncodeLegacyArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
master EncodeLegacyArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master EncodeLegacyArgs net472 N/A N/A N/A NaN NaN NaN 0 b
#99 EncodeArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
#99 EncodeArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#99 EncodeArgs net472 N/A N/A N/A NaN NaN NaN 0 b
#99 EncodeLegacyArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
#99 EncodeLegacyArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#99 EncodeLegacyArgs net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.Asm.AppSecWafBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmark netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmark net472 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmarkWithAttack net472 N/A N/A N/A NaN NaN NaN 0 b
#99 RunWafRealisticBenchmark net6.0 N/A N/A N/A NaN NaN NaN 0 b
#99 RunWafRealisticBenchmark netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#99 RunWafRealisticBenchmark net472 N/A N/A N/A NaN NaN NaN 0 b
#99 RunWafRealisticBenchmarkWithAttack net6.0 N/A N/A N/A NaN NaN NaN 0 b
#99 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#99 RunWafRealisticBenchmarkWithAttack net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 61.6μs 45.7ns 171ns 0 0 0 14.53 KB
master SendRequest netcoreapp3.1 71.3μs 218ns 786ns 0 0 0 17.42 KB
master SendRequest net472 0.0127ns 0.00196ns 0.00761ns 0 0 0 0 b
#99 SendRequest net6.0 62.3μs 67.2ns 251ns 0 0 0 14.53 KB
#99 SendRequest netcoreapp3.1 71μs 156ns 540ns 0 0 0 17.42 KB
#99 SendRequest net472 0.0151ns 0.0018ns 0.00698ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #99

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.172 672,074.22 787,654.46

More allocations ⚠️ in #99

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.83 KB 42.95 KB 1.13 KB 2.69%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.02 KB 56.36 KB 334 B 0.60%

Fewer allocations 🎉 in #99

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.97 KB 41.67 KB -293 B -0.70%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 661μs 788ns 3.05μs 0 0 0 41.97 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 676μs 1.9μs 13.3μs 0 0 0 41.83 KB
master WriteAndFlushEnrichedTraces net472 983μs 4.19μs 17.8μs 4.81 0 0 56.02 KB
#99 WriteAndFlushEnrichedTraces net6.0 711μs 2.73μs 10.6μs 0 0 0 41.67 KB
#99 WriteAndFlushEnrichedTraces netcoreapp3.1 762μs 5.51μs 50.5μs 0 0 0 42.95 KB
#99 WriteAndFlushEnrichedTraces net472 911μs 3.16μs 12.2μs 8.93 0 0 56.36 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.94μs 0.943ns 3.27ns 0 0 0 1.03 KB
master ExecuteNonQuery netcoreapp3.1 2.48μs 2.6ns 10.1ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.84μs 8.28ns 32.1ns 0.153 0.0139 0 995 B
#99 ExecuteNonQuery net6.0 1.95μs 0.711ns 2.66ns 0 0 0 1.03 KB
#99 ExecuteNonQuery netcoreapp3.1 2.42μs 8.2ns 30.7ns 0 0 0 1.02 KB
#99 ExecuteNonQuery net472 2.75μs 7.07ns 27.4ns 0.15 0.0136 0 995 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.79μs 1.4ns 5.41ns 0 0 0 1.04 KB
master CallElasticsearch netcoreapp3.1 2.32μs 5.18ns 20.1ns 0 0 0 1.04 KB
master CallElasticsearch net472 3.78μs 1.45ns 5.63ns 0.152 0 0 1.05 KB
master CallElasticsearchAsync net6.0 1.77μs 8.81ns 40.4ns 0 0 0 1.02 KB
master CallElasticsearchAsync netcoreapp3.1 2.39μs 3.63ns 14ns 0 0 0 1.09 KB
master CallElasticsearchAsync net472 3.86μs 3.5ns 13.6ns 0.173 0 0 1.11 KB
#99 CallElasticsearch net6.0 1.74μs 9.19ns 46ns 0 0 0 1.04 KB
#99 CallElasticsearch netcoreapp3.1 2.24μs 7.97ns 28.8ns 0 0 0 1.04 KB
#99 CallElasticsearch net472 3.48μs 2.19ns 8.2ns 0.157 0 0 1.05 KB
#99 CallElasticsearchAsync net6.0 1.86μs 3.48ns 13.5ns 0 0 0 1.02 KB
#99 CallElasticsearchAsync netcoreapp3.1 2.38μs 11.5ns 44.5ns 0 0 0 1.09 KB
#99 CallElasticsearchAsync net472 3.67μs 2.49ns 9.65ns 0.165 0 0 1.11 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.78μs 1.77ns 6.84ns 0 0 0 960 B
master ExecuteAsync netcoreapp3.1 2.28μs 8.28ns 29.9ns 0 0 0 960 B
master ExecuteAsync net472 2.63μs 2.01ns 7.5ns 0.144 0 0 923 B
#99 ExecuteAsync net6.0 1.74μs 8.67ns 39.7ns 0 0 0 960 B
#99 ExecuteAsync netcoreapp3.1 2.27μs 8.05ns 31.2ns 0 0 0 960 B
#99 ExecuteAsync net472 2.55μs 2.92ns 11.3ns 0.141 0 0 923 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 7.28μs 17.7ns 68.5ns 0 0 0 2.37 KB
master SendAsync netcoreapp3.1 8.78μs 9.28ns 36ns 0 0 0 2.9 KB
master SendAsync net472 12.3μs 7.36ns 27.5ns 0.49 0 0 3.19 KB
#99 SendAsync net6.0 7.11μs 20ns 75ns 0 0 0 2.37 KB
#99 SendAsync netcoreapp3.1 8.69μs 28.4ns 110ns 0 0 0 2.9 KB
#99 SendAsync net472 12.4μs 11.5ns 43.1ns 0.495 0 0 3.19 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #99

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 42.73 KB 86.24 KB 43.51 KB 101.83%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 57.34 KB 65.54 KB 8.19 KB 14.29%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 278.53 KB 286.72 KB 8.19 KB 2.94%

Fewer allocations 🎉 in #99

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 279.21 KB 250.7 KB -28.51 KB -10.21%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 43μs 223ns 1.05μs 0 0 0 43.78 KB
master StringConcatBenchmark netcoreapp3.1 48.8μs 279ns 1.87μs 0 0 0 42.73 KB
master StringConcatBenchmark net472 57.6μs 189ns 732ns 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 494μs 1.76μs 6.1μs 0 0 0 279.21 KB
master StringConcatAspectBenchmark netcoreapp3.1 541μs 1.97μs 7.62μs 0 0 0 275.23 KB
master StringConcatAspectBenchmark net472 400μs 1.82μs 6.55μs 0 0 0 278.53 KB
#99 StringConcatBenchmark net6.0 44μs 208ns 856ns 0 0 0 43.86 KB
#99 StringConcatBenchmark netcoreapp3.1 49.6μs 281ns 2.53μs 0 0 0 86.24 KB
#99 StringConcatBenchmark net472 58.1μs 185ns 692ns 0 0 0 65.54 KB
#99 StringConcatAspectBenchmark net6.0 462μs 1.95μs 8.05μs 0 0 0 250.7 KB
#99 StringConcatAspectBenchmark netcoreapp3.1 518μs 2μs 7.22μs 0 0 0 274.61 KB
#99 StringConcatAspectBenchmark net472 408μs 2.14μs 10μs 0 0 0 286.72 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.66μs 12.9ns 54.6ns 0 0 0 1.76 KB
master EnrichedLog netcoreapp3.1 3.4μs 16.4ns 65.6ns 0 0 0 1.76 KB
master EnrichedLog net472 4.09μs 2.65ns 10.3ns 0.266 0 0 1.69 KB
#99 EnrichedLog net6.0 2.66μs 12.3ns 50.9ns 0 0 0 1.76 KB
#99 EnrichedLog netcoreapp3.1 3.45μs 14.9ns 55.9ns 0 0 0 1.76 KB
#99 EnrichedLog net472 3.95μs 2.48ns 9.59ns 0.257 0 0 1.69 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 122μs 43.3ns 162ns 0 0 0 4.37 KB
master EnrichedLog netcoreapp3.1 127μs 132ns 477ns 0 0 0 4.37 KB
master EnrichedLog net472 167μs 122ns 474ns 0 0 0 4.57 KB
#99 EnrichedLog net6.0 124μs 55.5ns 215ns 0 0 0 4.37 KB
#99 EnrichedLog netcoreapp3.1 129μs 318ns 1.23μs 0 0 0 4.37 KB
#99 EnrichedLog net472 167μs 54.9ns 190ns 0 0 0 4.57 KB
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.9μs 4ns 15ns 0 0 0 2.32 KB
master EnrichedLog netcoreapp3.1 6.72μs 26.4ns 102ns 0 0 0 2.32 KB
master EnrichedLog net472 7.47μs 7.88ns 30.5ns 0.334 0 0 2.14 KB
#99 EnrichedLog net6.0 5.13μs 6.74ns 25.2ns 0 0 0 2.32 KB
#99 EnrichedLog netcoreapp3.1 6.71μs 14.7ns 57ns 0 0 0 2.32 KB
#99 EnrichedLog net472 7.26μs 5.78ns 22.4ns 0.327 0 0 2.14 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.98μs 9.73ns 42.4ns 0 0 0 1.21 KB
master SendReceive netcoreapp3.1 2.56μs 11.3ns 43.6ns 0 0 0 1.21 KB
master SendReceive net472 3.08μs 4.71ns 18.3ns 0.185 0 0 1.21 KB
#99 SendReceive net6.0 2μs 9.43ns 35.3ns 0 0 0 1.21 KB
#99 SendReceive netcoreapp3.1 2.63μs 12.7ns 50.9ns 0 0 0 1.21 KB
#99 SendReceive net472 3.1μs 4.18ns 16.2ns 0.185 0 0 1.21 KB
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.16μs 14ns 54.3ns 0 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 5.71μs 5.32ns 20.6ns 0 0 0 1.69 KB
master EnrichedLog net472 6.61μs 9.88ns 38.3ns 0.298 0 0 2.08 KB
#99 EnrichedLog net6.0 4.25μs 2.33ns 9.04ns 0 0 0 1.64 KB
#99 EnrichedLog netcoreapp3.1 5.48μs 19ns 73.5ns 0 0 0 1.69 KB
#99 EnrichedLog net472 6.58μs 11.2ns 43.4ns 0.328 0 0 2.08 KB
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 748ns 3.81ns 17.9ns 0 0 0 584 B
master StartFinishSpan netcoreapp3.1 930ns 4.85ns 23.8ns 0 0 0 584 B
master StartFinishSpan net472 936ns 0.375ns 1.45ns 0.0929 0 0 586 B
master StartFinishScope net6.0 939ns 0.173ns 0.648ns 0 0 0 704 B
master StartFinishScope netcoreapp3.1 1.17μs 5.91ns 27.1ns 0 0 0 704 B
master StartFinishScope net472 1.15μs 0.289ns 1.12ns 0.103 0 0 666 B
#99 StartFinishSpan net6.0 764ns 0.581ns 2.09ns 0 0 0 584 B
#99 StartFinishSpan netcoreapp3.1 948ns 4.47ns 17.9ns 0 0 0 584 B
#99 StartFinishSpan net472 915ns 0.263ns 1.02ns 0.0917 0 0 586 B
#99 StartFinishScope net6.0 892ns 4.83ns 26ns 0 0 0 704 B
#99 StartFinishScope netcoreapp3.1 1.13μs 1.67ns 6.47ns 0 0 0 704 B
#99 StartFinishScope net472 1.12μs 0.411ns 1.59ns 0.101 0 0 666 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1μs 4.62ns 17.9ns 0 0 0 704 B
master RunOnMethodBegin netcoreapp3.1 1.32μs 6.95ns 36.1ns 0 0 0 704 B
master RunOnMethodBegin net472 1.4μs 2.36ns 9.13ns 0.0992 0 0 666 B
#99 RunOnMethodBegin net6.0 1.03μs 3.73ns 14.4ns 0 0 0 704 B
#99 RunOnMethodBegin netcoreapp3.1 1.46μs 7.72ns 39.4ns 0 0 0 704 B
#99 RunOnMethodBegin net472 1.36μs 0.613ns 2.37ns 0.102 0 0 666 B

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants