Skip to content

Commit 0dd5258

Browse files
committed
first activity plumbing
1 parent c19ebd5 commit 0dd5258

File tree

4 files changed

+25
-1
lines changed

4 files changed

+25
-1
lines changed

eng/Versions.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
<SystemConsoleVersion>4.3.0</SystemConsoleVersion>
8888
<SystemDataSqlClientPackageVersion>4.3.0</SystemDataSqlClientPackageVersion>
8989
<SystemDesignVersion>4.0.0</SystemDesignVersion>
90+
<SystemDiagnosticsDiagnosticSourceVersion>5.0.1</SystemDiagnosticsDiagnosticSourceVersion>
9091
<SystemDiagnosticsProcessVersion>4.3.0</SystemDiagnosticsProcessVersion>
9192
<SystemDiagnosticsTraceSourceVersion>4.3.0</SystemDiagnosticsTraceSourceVersion>
9293
<MicrosoftDiaSymReaderPortablePdbVersion>1.6.0</MicrosoftDiaSymReaderPortablePdbVersion>

src/Compiler/Driver/fsc.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1380,7 +1380,7 @@ let CompileFromCommandLineArguments
13801380
with _ ->
13811381
()
13821382
}
1383-
1383+
use mainActivity = new Activity("fcs:main")
13841384
main1 (
13851385
ctok,
13861386
argv,

src/fsc/fsc.targets

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,15 @@
3737

3838
<ItemGroup>
3939
<PackageReference Include="System.Console" Version="$(SystemConsoleVersion)" />
40+
<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="$(SystemDiagnosticsDiagnosticSourceVersion)" />
4041
<PackageReference Include="System.Linq.Expressions" Version="$(SystemLinqExpressionsVersion)" />
4142
<PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
4243
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafeVersion)" />
4344
<PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
4445
<PackageReference Include="System.Runtime.Loader" Version="$(SystemRuntimeLoaderVersion)" />
4546
<PackageReference Include="System.Security.Principal" Version="$(SystemSecurityPrincipalVersion)" />
47+
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.1.0" />
48+
4649
</ItemGroup>
4750

4851
</Project>

src/fsc/fscmain.fs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,31 @@ open FSharp.Compiler.Driver
1717
open FSharp.Compiler.DiagnosticsLogger
1818
open FSharp.Compiler.CodeAnalysis
1919
open FSharp.Compiler.Text
20+
open System.Diagnostics
21+
open OpenTelemetry
22+
open OpenTelemetry.Resources
23+
open OpenTelemetry.Trace
2024

2125
[<Dependency("FSharp.Compiler.Service", LoadHint.Always)>]
2226
do ()
2327

2428
[<EntryPoint>]
2529
let main (argv) =
2630

31+
use tracerProvider =
32+
Sdk.CreateTracerProviderBuilder()
33+
.AddSource("fsc")
34+
.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(serviceName ="fsc", serviceVersion = "42.42.42.42"))
35+
.AddConsoleExporter()
36+
.Build();
37+
use activitySource = new ActivitySource("fsc")
38+
use mainActivity = activitySource.StartActivity("main")
39+
40+
let forceCleanup() =
41+
mainActivity.Dispose()
42+
activitySource.Dispose()
43+
tracerProvider.Dispose()
44+
2745
let compilerName =
2846
// the 64 bit desktop version of the compiler is name fscAnyCpu.exe, all others are fsc.exe
2947
if
@@ -67,6 +85,7 @@ let main (argv) =
6785
let stats = ILBinaryReader.GetStatistics()
6886

6987
AppDomain.CurrentDomain.ProcessExit.Add(fun _ ->
88+
forceCleanup()
7089
printfn
7190
"STATS: #ByteArrayFile = %d, #MemoryMappedFileOpen = %d, #MemoryMappedFileClosed = %d, #RawMemoryFile = %d, #WeakByteArrayFile = %d"
7291
stats.byteFileCount
@@ -81,6 +100,7 @@ let main (argv) =
81100
let quitProcessExiter =
82101
{ new Exiter with
83102
member _.Exit(n) =
103+
forceCleanup()
84104
try
85105
exit n
86106
with _ ->

0 commit comments

Comments
 (0)