@@ -7,11 +7,18 @@ open System.Diagnostics
77open System.IO
88open System.Text
99
10+ module ActivityNames =
11+ [<Literal>]
12+ let FscSourceName = " fsc"
13+
14+ [<Literal>]
15+ let ProfiledSourceName = " fsc_with_env_stats"
16+
17+ let AllRelevantNames = [| FscSourceName; ProfiledSourceName |]
18+
1019[<RequireQualifiedAccess>]
1120module internal Activity =
1221
13- let FscSourceName = " fsc"
14-
1522 module Tags =
1623 let fileName = " fileName"
1724 let project = " project"
@@ -47,9 +54,6 @@ module internal Activity =
4754 module Events =
4855 let cacheHit = " cacheHit"
4956
50- let private activitySourceName = FscSourceName
51- let private profiledSourceName = " fsc_with_env_stats"
52-
5357 type System.Diagnostics.Activity with
5458
5559 member this.RootId =
@@ -67,18 +71,18 @@ module internal Activity =
6771
6872 depth this 0
6973
70- let private activitySource = new ActivitySource( activitySourceName )
74+ let private activitySource = new ActivitySource( ActivityNames.FscSourceName )
7175
7276 let start ( name : string ) ( tags : ( string * string ) seq ) : IDisposable =
73- let activity = activitySource.StartActivity ( name)
77+ let activity = activitySource.CreateActivity ( name, ActivityKind.Internal )
7478
7579 match activity with
76- | null -> ()
80+ | null -> activity
7781 | activity ->
7882 for key, value in tags do
7983 activity.AddTag( key, value) |> ignore
8084
81- activity
85+ activity.Start ()
8286
8387 let startNoTags ( name : string ) : IDisposable = activitySource.StartActivity( name)
8488
@@ -98,7 +102,7 @@ module internal Activity =
98102
99103 let profilingTags = [| workingSetMB; gc0; gc1; gc2; handles; threads |]
100104
101- let private profiledSource = new ActivitySource( profiledSourceName )
105+ let private profiledSource = new ActivitySource( ActivityNames.ProfiledSourceName )
102106
103107 let startAndMeasureEnvironmentStats ( name : string ) : IDisposable = profiledSource.StartActivity( name)
104108
@@ -112,7 +116,7 @@ module internal Activity =
112116
113117 let l =
114118 new ActivityListener(
115- ShouldListenTo = ( fun a -> a.Name = profiledSourceName ),
119+ ShouldListenTo = ( fun a -> a.Name = ActivityNames.ProfiledSourceName ),
116120 Sample = ( fun _ -> ActivitySamplingResult.AllData),
117121 ActivityStarted = ( fun a -> a.AddTag( gcStatsInnerTag, collectGCStats ()) |> ignore),
118122 ActivityStopped =
@@ -145,7 +149,7 @@ module internal Activity =
145149
146150 let consoleWriterListener =
147151 new ActivityListener(
148- ShouldListenTo = ( fun a -> a.Name = profiledSourceName ),
152+ ShouldListenTo = ( fun a -> a.Name = ActivityNames.ProfiledSourceName ),
149153 Sample = ( fun _ -> ActivitySamplingResult.AllData),
150154 ActivityStopped =
151155 ( fun a ->
@@ -237,7 +241,7 @@ module internal Activity =
237241
238242 let l =
239243 new ActivityListener(
240- ShouldListenTo = ( fun a -> a.Name = activitySourceName || a.Name = profiledSourceName ),
244+ ShouldListenTo = ( fun a -> ActivityNames.AllRelevantNames |> Array.contains a.Name),
241245 Sample = ( fun _ -> ActivitySamplingResult.AllData),
242246 ActivityStopped = ( fun a -> msgQueue.Post( createCsvRow a))
243247 )
0 commit comments