@@ -11,8 +11,9 @@ internal sealed partial class CodeAnalysisEventSource : EventSource
11
11
{
12
12
public static class Keywords
13
13
{
14
- public const EventKeywords Performance = ( EventKeywords ) 1 ;
15
- public const EventKeywords Correctness = ( EventKeywords ) 2 ;
14
+ public const EventKeywords Performance = ( EventKeywords ) 0b001 ;
15
+ public const EventKeywords Correctness = ( EventKeywords ) 0b010 ;
16
+ public const EventKeywords AnalyzerLoading = ( EventKeywords ) 0b100 ;
16
17
}
17
18
18
19
public static class Tasks
@@ -100,18 +101,87 @@ internal unsafe void NodeTransform(int nodeHashCode, string name, string tableTy
100
101
[ Event ( 8 , Message = "Server compilation {0} completed" , Keywords = Keywords . Performance , Level = EventLevel . Informational , Opcode = EventOpcode . Stop , Task = Tasks . Compilation ) ]
101
102
internal void StopServerCompilation ( string name ) => WriteEvent ( 8 , name ) ;
102
103
103
- [ Event ( 9 , Message = "ALC for directory '{0}' created" , Keywords = Keywords . Performance , Level = EventLevel . Informational , Opcode = EventOpcode . Start , Task = Tasks . AnalyzerAssemblyLoader ) ]
104
- internal void CreateAssemblyLoadContext ( string directory ) => WriteEvent ( 9 , directory ) ;
104
+ [ Event ( 9 , Message = "ALC for directory '{0}' created" , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Informational , Opcode = EventOpcode . Start , Task = Tasks . AnalyzerAssemblyLoader ) ]
105
+ internal void CreateAssemblyLoadContext ( string directory , string ? alc ) => WriteEvent ( 9 , directory , alc ) ;
105
106
106
- [ Event ( 10 , Message = "ALC for directory '{0}' disposed" , Keywords = Keywords . Performance , Level = EventLevel . Informational , Opcode = EventOpcode . Stop , Task = Tasks . AnalyzerAssemblyLoader ) ]
107
- internal void DisposeAssemblyLoadContext ( string directory ) => WriteEvent ( 10 , directory ) ;
107
+ [ Event ( 10 , Message = "ALC for directory '{0}' disposed" , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Informational , Opcode = EventOpcode . Stop , Task = Tasks . AnalyzerAssemblyLoader ) ]
108
+ internal void DisposeAssemblyLoadContext ( string directory , string ? alc ) => WriteEvent ( 10 , directory , alc ) ;
108
109
109
- [ Event ( 11 , Message = "ALC for directory '{0}' disposal failed with exception '{1}'" , Keywords = Keywords . Performance , Level = EventLevel . Error , Opcode = EventOpcode . Stop , Task = Tasks . AnalyzerAssemblyLoader ) ]
110
- internal void DisposeAssemblyLoadContextException ( string directory , string errorMessage ) => WriteEvent ( 11 , directory , errorMessage ) ;
110
+ [ Event ( 11 , Message = "ALC for directory '{0}' disposal failed with exception '{1}'" , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Error , Opcode = EventOpcode . Stop , Task = Tasks . AnalyzerAssemblyLoader ) ]
111
+ internal void DisposeAssemblyLoadContextException ( string directory , string errorMessage , string ? alc ) => WriteEvent ( 11 , directory , errorMessage , alc ) ;
111
112
112
- [ Event ( 12 , Message = "CreateNonLockingLoader" , Keywords = Keywords . Performance , Level = EventLevel . Informational , Task = Tasks . AnalyzerAssemblyLoader ) ]
113
+ [ Event ( 12 , Message = "CreateNonLockingLoader" , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Informational , Task = Tasks . AnalyzerAssemblyLoader ) ]
113
114
internal void CreateNonLockingLoader ( string directory ) => WriteEvent ( 12 , directory ) ;
114
115
116
+ [ Event ( 13 , Message = "Request add Analyzer reference '{0}' to project '{1}'" , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Informational ) ]
117
+ internal void AnalyzerReferenceRequestAddToProject ( string path , string projectName ) => WriteEvent ( 13 , path , projectName ) ;
118
+
119
+ [ Event ( 14 , Message = "Analyzer reference '{0}' was added to project '{1}'" , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Informational ) ]
120
+ internal void AnalyzerReferenceAddedToProject ( string path , string projectName ) => WriteEvent ( 14 , path , projectName ) ;
121
+
122
+ [ Event ( 15 , Message = "Request remove Analyzer reference '{0}' from project '{1}'" , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Informational ) ]
123
+ internal void AnalyzerReferenceRequestRemoveFromProject ( string path , string projectName ) => WriteEvent ( 15 , path , projectName ) ;
124
+
125
+ [ Event ( 16 , Message = "Analyzer reference '{0}' was removed from project '{1}'" , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Informational ) ]
126
+ internal void AnalyzerReferenceRemovedFromProject ( string path , string projectName ) => WriteEvent ( 16 , path , projectName ) ;
127
+
128
+ [ Event ( 17 , Message = "Analyzer reference was redirected by '{0}' from '{1}' to '{2}' for project '{3}'" , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Verbose , Task = Tasks . BuildStateTable ) ]
129
+ internal unsafe void AnanlyzerReferenceRedirected ( string redirectorType , string originalPath , string newPath , string project )
130
+ {
131
+ if ( IsEnabled ( ) )
132
+ {
133
+ fixed ( char * redirectorTypeBytes = redirectorType )
134
+ fixed ( char * originalPathBytes = originalPath )
135
+ fixed ( char * newPathBytes = newPath )
136
+ fixed ( char * projectBytes = project )
137
+ {
138
+ Span < EventData > data =
139
+ [
140
+ GetEventDataForString ( redirectorType , redirectorTypeBytes ) ,
141
+ GetEventDataForString ( originalPath , originalPathBytes ) ,
142
+ GetEventDataForString ( newPath , newPathBytes ) ,
143
+ GetEventDataForString ( project , projectBytes ) ,
144
+ ] ;
145
+
146
+ fixed ( EventData * dataPtr = data )
147
+ {
148
+ WriteEventCore ( eventId : 17 , data . Length , dataPtr ) ;
149
+ }
150
+ }
151
+ }
152
+ }
153
+
154
+ [ Event ( 18 , Message = "ALC for directory '{0}': Assembly '{1}' was resolved by '{2}' " , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Informational ) ]
155
+ internal unsafe void ResolvedAssembly ( string directory , string assemblyName , string resolver , string filePath , string alc )
156
+ {
157
+ if ( IsEnabled ( ) )
158
+ {
159
+ fixed ( char * directoryBytes = directory )
160
+ fixed ( char * assemblyNameBytes = assemblyName )
161
+ fixed ( char * resolverBytes = resolver )
162
+ fixed ( char * filePathBytes = filePath )
163
+ fixed ( char * alcBytes = alc )
164
+ {
165
+ Span < EventData > data =
166
+ [
167
+ GetEventDataForString ( directory , directoryBytes ) ,
168
+ GetEventDataForString ( assemblyName , assemblyNameBytes ) ,
169
+ GetEventDataForString ( resolver , resolverBytes ) ,
170
+ GetEventDataForString ( filePath , filePathBytes ) ,
171
+ GetEventDataForString ( alc , alcBytes ) ,
172
+ ] ;
173
+
174
+ fixed ( EventData * dataPtr = data )
175
+ {
176
+ WriteEventCore ( eventId : 18 , data . Length , dataPtr ) ;
177
+ }
178
+ }
179
+ }
180
+ }
181
+
182
+ [ Event ( 19 , Message = "ALC for directory '{0}': Failed to resolve assembly '{1}' " , Keywords = Keywords . AnalyzerLoading , Level = EventLevel . Informational ) ]
183
+ internal unsafe void ResolveAssemblyFailed ( string directory , string assemblyName ) => WriteEvent ( 19 , directory , assemblyName ) ;
184
+
115
185
private static unsafe EventData GetEventDataForString ( string value , char * ptr )
116
186
{
117
187
fixed ( char * ptr2 = value )
0 commit comments