Skip to content

Commit 1711c34

Browse files
added slot name to FunctionsLogs table (#5245)
1 parent 025b68b commit 1711c34

20 files changed

+111
-69
lines changed

src/WebJobs.Script.WebHost/Diagnostics/EtwEventGenerator.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// Licensed under the MIT License. See License.txt in the project root for license information.
33

44
using System;
5+
using System.Runtime.InteropServices.ComTypes;
56
using Microsoft.Extensions.Logging;
67

78
namespace Microsoft.Azure.WebJobs.Script.WebHost.Diagnostics
@@ -17,32 +18,32 @@ public EtwEventGenerator()
1718
_azureMonitorEventSource = AzureMonitorDiagnosticLogsEventSource.Instance;
1819
}
1920

20-
public void LogFunctionTraceEvent(LogLevel level, string subscriptionId, string appName, string functionName, string eventName, string source, string details, string summary, string exceptionType, string exceptionMessage, string functionInvocationId, string hostInstanceId, string activityId, string runtimeSiteName)
21+
public void LogFunctionTraceEvent(LogLevel level, string subscriptionId, string appName, string functionName, string eventName, string source, string details, string summary, string exceptionType, string exceptionMessage, string functionInvocationId, string hostInstanceId, string activityId, string runtimeSiteName, string slotName)
2122
{
2223
string eventTimestamp = DateTime.UtcNow.ToString(EventTimestamp);
2324
FunctionsSystemLogsEventSource.Instance.SetActivityId(activityId);
2425
switch (level)
2526
{
2627
case LogLevel.Trace:
2728
case LogLevel.Debug:
28-
FunctionsSystemLogsEventSource.Instance.RaiseFunctionsEventVerbose(subscriptionId, appName, functionName, eventName, source, details, summary, ScriptHost.Version, eventTimestamp, functionInvocationId, hostInstanceId, runtimeSiteName);
29+
FunctionsSystemLogsEventSource.Instance.RaiseFunctionsEventVerbose(subscriptionId, appName, functionName, eventName, source, details, summary, ScriptHost.Version, eventTimestamp, functionInvocationId, hostInstanceId, runtimeSiteName, slotName);
2930
break;
3031
case LogLevel.Information:
31-
FunctionsSystemLogsEventSource.Instance.RaiseFunctionsEventInfo(subscriptionId, appName, functionName, eventName, source, details, summary, ScriptHost.Version, eventTimestamp, functionInvocationId, hostInstanceId, runtimeSiteName);
32+
FunctionsSystemLogsEventSource.Instance.RaiseFunctionsEventInfo(subscriptionId, appName, functionName, eventName, source, details, summary, ScriptHost.Version, eventTimestamp, functionInvocationId, hostInstanceId, runtimeSiteName, slotName);
3233
break;
3334
case LogLevel.Warning:
34-
FunctionsSystemLogsEventSource.Instance.RaiseFunctionsEventWarning(subscriptionId, appName, functionName, eventName, source, details, summary, ScriptHost.Version, eventTimestamp, functionInvocationId, hostInstanceId, runtimeSiteName);
35+
FunctionsSystemLogsEventSource.Instance.RaiseFunctionsEventWarning(subscriptionId, appName, functionName, eventName, source, details, summary, ScriptHost.Version, eventTimestamp, functionInvocationId, hostInstanceId, runtimeSiteName, slotName);
3536
break;
3637
case LogLevel.Error:
3738
case LogLevel.Critical:
38-
FunctionsSystemLogsEventSource.Instance.RaiseFunctionsEventError(subscriptionId, appName, functionName, eventName, source, details, summary, ScriptHost.Version, eventTimestamp, exceptionType, exceptionMessage, functionInvocationId, hostInstanceId, runtimeSiteName);
39+
FunctionsSystemLogsEventSource.Instance.RaiseFunctionsEventError(subscriptionId, appName, functionName, eventName, source, details, summary, ScriptHost.Version, eventTimestamp, exceptionType, exceptionMessage, functionInvocationId, hostInstanceId, runtimeSiteName, slotName);
3940
break;
4041
}
4142
}
4243

43-
public void LogFunctionMetricEvent(string subscriptionId, string appName, string functionName, string eventName, long average, long minimum, long maximum, long count, DateTime eventTimestamp, string data, string runtimeSiteName)
44+
public void LogFunctionMetricEvent(string subscriptionId, string appName, string functionName, string eventName, long average, long minimum, long maximum, long count, DateTime eventTimestamp, string data, string runtimeSiteName, string slotName)
4445
{
45-
FunctionsSystemLogsEventSource.Instance.LogFunctionMetricEvent(subscriptionId, appName, functionName, eventName, average, minimum, maximum, count, ScriptHost.Version, eventTimestamp.ToString(EventTimestamp), data, runtimeSiteName);
46+
FunctionsSystemLogsEventSource.Instance.LogFunctionMetricEvent(subscriptionId, appName, functionName, eventName, average, minimum, maximum, count, ScriptHost.Version, eventTimestamp.ToString(EventTimestamp), data, runtimeSiteName, slotName);
4647
}
4748

4849
public void LogFunctionExecutionAggregateEvent(string siteName, string functionName, long executionTimeInMs, long functionStartedCount, long functionCompletedCount, long functionFailedCount)

src/WebJobs.Script.WebHost/Diagnostics/ExtendedEventSource.cs

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,9 @@ protected void WriteEvent(int eventNum, string a, string b, int c, string d, str
110110
// RaiseFunctionsEventVerbose/Info/Warning
111111
[NonEvent]
112112
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
113-
protected void WriteEvent(int eventNum, string a, string b, string c, string d, string e, string f, string g, string h, string i, string j, string k, string l)
113+
protected void WriteEvent(int eventNum, string a, string b, string c, string d, string e, string f, string g, string h, string i, string j, string k, string l, string m)
114114
{
115-
int count = 12;
115+
int count = 13;
116116
fixed (char* aPtr = a,
117117
bPtr = b,
118118
cPtr = c,
@@ -124,7 +124,8 @@ protected void WriteEvent(int eventNum, string a, string b, string c, string d,
124124
iPtr = i,
125125
jPtr = j,
126126
kPtr = k,
127-
lPtr = l)
127+
lPtr = l,
128+
mPtr = m)
128129
{
129130
EventData* data = stackalloc EventData[count];
130131
data[0].DataPointer = (IntPtr)aPtr;
@@ -151,16 +152,18 @@ protected void WriteEvent(int eventNum, string a, string b, string c, string d,
151152
data[10].Size = (k.Length + 1) * sizeof(char);
152153
data[11].DataPointer = (IntPtr)lPtr;
153154
data[11].Size = (l.Length + 1) * sizeof(char);
155+
data[12].DataPointer = (IntPtr)mPtr;
156+
data[12].Size = (m.Length + 1) * sizeof(char);
154157
WriteEventCore(eventNum, count, data);
155158
}
156159
}
157160

158161
// RaiseFunctionsEventError
159162
[NonEvent]
160163
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
161-
protected void WriteEvent(int eventNum, string a, string b, string c, string d, string e, string f, string g, string h, string i, string j, string k, string l, string m, string n)
164+
protected void WriteEvent(int eventNum, string a, string b, string c, string d, string e, string f, string g, string h, string i, string j, string k, string l, string m, string n, string o)
162165
{
163-
int count = 14;
166+
int count = 15;
164167
fixed (char* aPtr = a,
165168
bPtr = b,
166169
cPtr = c,
@@ -174,7 +177,8 @@ protected void WriteEvent(int eventNum, string a, string b, string c, string d,
174177
kPtr = k,
175178
lPtr = l,
176179
mPtr = m,
177-
nPtr = n)
180+
nPtr = n,
181+
oPtr = o)
178182
{
179183
EventData* data = stackalloc EventData[count];
180184
data[0].DataPointer = (IntPtr)aPtr;
@@ -205,24 +209,27 @@ protected void WriteEvent(int eventNum, string a, string b, string c, string d,
205209
data[12].Size = (m.Length + 1) * sizeof(char);
206210
data[13].DataPointer = (IntPtr)nPtr;
207211
data[13].Size = (n.Length + 1) * sizeof(char);
212+
data[14].DataPointer = (IntPtr)oPtr;
213+
data[14].Size = (o.Length + 1) * sizeof(char);
208214
WriteEventCore(eventNum, count, data);
209215
}
210216
}
211217

212218
// LogFunctionMetricEvent
213219
[NonEvent]
214220
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
215-
protected void WriteEvent(int eventNum, string a, string b, string c, string d, long e, long f, long g, long h, string i, string j, string k, string l)
221+
protected void WriteEvent(int eventNum, string a, string b, string c, string d, long e, long f, long g, long h, string i, string j, string k, string l, string m)
216222
{
217-
int count = 12;
223+
int count = 13;
218224
fixed (char* aPtr = a,
219225
bPtr = b,
220226
cPtr = c,
221227
dPtr = d,
222228
iPtr = i,
223229
jPtr = j,
224230
kPtr = k,
225-
lPtr = l)
231+
lPtr = l,
232+
mPtr = m)
226233
{
227234
EventData* data = stackalloc EventData[count];
228235
data[0].DataPointer = (IntPtr)aPtr;
@@ -249,6 +256,8 @@ protected void WriteEvent(int eventNum, string a, string b, string c, string d,
249256
data[10].Size = (k.Length + 1) * sizeof(char);
250257
data[11].DataPointer = (IntPtr)lPtr;
251258
data[11].Size = (l.Length + 1) * sizeof(char);
259+
data[12].DataPointer = (IntPtr)mPtr;
260+
data[12].Size = (m.Length + 1) * sizeof(char);
252261

253262
WriteEventCore(eventNum, count, data);
254263
}

src/WebJobs.Script.WebHost/Diagnostics/FunctionsSystemLogsEventSource.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,56 +17,56 @@ public sealed class FunctionsSystemLogsEventSource : ExtendedEventSource
1717

1818
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification = "MDS columns names are Pascal Cased")]
1919
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate")]
20-
[Event(65520, Level = EventLevel.Verbose, Channel = EventChannel.Operational, Version = 5)]
21-
public void RaiseFunctionsEventVerbose(string SubscriptionId, string AppName, string FunctionName, string EventName, string Source, string Details, string Summary, string HostVersion, string EventTimestamp, string FunctionInvocationId, string HostInstanceId, string RuntimeSiteName)
20+
[Event(65520, Level = EventLevel.Verbose, Channel = EventChannel.Operational, Version = 6)]
21+
public void RaiseFunctionsEventVerbose(string SubscriptionId, string AppName, string FunctionName, string EventName, string Source, string Details, string Summary, string HostVersion, string EventTimestamp, string FunctionInvocationId, string HostInstanceId, string RuntimeSiteName, string SlotName)
2222
{
2323
if (IsEnabled())
2424
{
25-
WriteEvent(65520, SubscriptionId, AppName, FunctionName, EventName, Source, Details, Summary, HostVersion, EventTimestamp, FunctionInvocationId, HostInstanceId, RuntimeSiteName);
25+
WriteEvent(65520, SubscriptionId, AppName, FunctionName, EventName, Source, Details, Summary, HostVersion, EventTimestamp, FunctionInvocationId, HostInstanceId, RuntimeSiteName, SlotName);
2626
}
2727
}
2828

2929
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly")]
3030
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate")]
31-
[Event(65521, Level = EventLevel.Informational, Channel = EventChannel.Operational, Version = 5)]
32-
public void RaiseFunctionsEventInfo(string SubscriptionId, string AppName, string FunctionName, string EventName, string Source, string Details, string Summary, string HostVersion, string EventTimestamp, string FunctionInvocationId, string HostInstanceId, string RuntimeSiteName)
31+
[Event(65521, Level = EventLevel.Informational, Channel = EventChannel.Operational, Version = 6)]
32+
public void RaiseFunctionsEventInfo(string SubscriptionId, string AppName, string FunctionName, string EventName, string Source, string Details, string Summary, string HostVersion, string EventTimestamp, string FunctionInvocationId, string HostInstanceId, string RuntimeSiteName, string SlotName)
3333
{
3434
if (IsEnabled())
3535
{
36-
WriteEvent(65521, SubscriptionId, AppName, FunctionName, EventName, Source, Details, Summary, HostVersion, EventTimestamp, FunctionInvocationId, HostInstanceId, RuntimeSiteName);
36+
WriteEvent(65521, SubscriptionId, AppName, FunctionName, EventName, Source, Details, Summary, HostVersion, EventTimestamp, FunctionInvocationId, HostInstanceId, RuntimeSiteName, SlotName);
3737
}
3838
}
3939

4040
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly")]
4141
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate")]
42-
[Event(65522, Level = EventLevel.Warning, Channel = EventChannel.Operational, Version = 5)]
43-
public void RaiseFunctionsEventWarning(string SubscriptionId, string AppName, string FunctionName, string EventName, string Source, string Details, string Summary, string HostVersion, string EventTimestamp, string FunctionInvocationId, string HostInstanceId, string RuntimeSiteName)
42+
[Event(65522, Level = EventLevel.Warning, Channel = EventChannel.Operational, Version = 6)]
43+
public void RaiseFunctionsEventWarning(string SubscriptionId, string AppName, string FunctionName, string EventName, string Source, string Details, string Summary, string HostVersion, string EventTimestamp, string FunctionInvocationId, string HostInstanceId, string RuntimeSiteName, string SlotName)
4444
{
4545
if (IsEnabled())
4646
{
47-
WriteEvent(65522, SubscriptionId, AppName, FunctionName, EventName, Source, Details, Summary, HostVersion, EventTimestamp, FunctionInvocationId, HostInstanceId, RuntimeSiteName);
47+
WriteEvent(65522, SubscriptionId, AppName, FunctionName, EventName, Source, Details, Summary, HostVersion, EventTimestamp, FunctionInvocationId, HostInstanceId, RuntimeSiteName, SlotName);
4848
}
4949
}
5050

5151
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly")]
5252
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate")]
53-
[Event(65523, Level = EventLevel.Error, Channel = EventChannel.Operational, Version = 5)]
54-
public void RaiseFunctionsEventError(string SubscriptionId, string AppName, string FunctionName, string EventName, string Source, string Details, string Summary, string HostVersion, string EventTimestamp, string InnerExceptionType, string InnerExceptionMessage, string FunctionInvocationId, string HostInstanceId, string RuntimeSiteName)
53+
[Event(65523, Level = EventLevel.Error, Channel = EventChannel.Operational, Version = 6)]
54+
public void RaiseFunctionsEventError(string SubscriptionId, string AppName, string FunctionName, string EventName, string Source, string Details, string Summary, string HostVersion, string EventTimestamp, string InnerExceptionType, string InnerExceptionMessage, string FunctionInvocationId, string HostInstanceId, string RuntimeSiteName, string SlotName)
5555
{
5656
if (IsEnabled())
5757
{
58-
WriteEvent(65523, SubscriptionId, AppName, FunctionName, EventName, Source, Details, Summary, HostVersion, EventTimestamp, InnerExceptionType, InnerExceptionMessage, FunctionInvocationId, HostInstanceId, RuntimeSiteName);
58+
WriteEvent(65523, SubscriptionId, AppName, FunctionName, EventName, Source, Details, Summary, HostVersion, EventTimestamp, InnerExceptionType, InnerExceptionMessage, FunctionInvocationId, HostInstanceId, RuntimeSiteName, SlotName);
5959
}
6060
}
6161

62-
[Event(65524, Level = EventLevel.Informational, Channel = EventChannel.Operational, Version = 6)]
62+
[Event(65524, Level = EventLevel.Informational, Channel = EventChannel.Operational, Version = 7)]
6363
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly")]
6464
[SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate")]
65-
public void LogFunctionMetricEvent(string SubscriptionId, string AppName, string FunctionName, string EventName, long Average, long Minimum, long Maximum, long Count, string HostVersion, string EventTimestamp, string Data, string RuntimeSiteName)
65+
public void LogFunctionMetricEvent(string SubscriptionId, string AppName, string FunctionName, string EventName, long Average, long Minimum, long Maximum, long Count, string HostVersion, string EventTimestamp, string Data, string RuntimeSiteName, string SlotName)
6666
{
6767
if (IsEnabled())
6868
{
69-
WriteEvent(65524, SubscriptionId, AppName, FunctionName, EventName, Average, Minimum, Maximum, Count, HostVersion, EventTimestamp, Data, RuntimeSiteName);
69+
WriteEvent(65524, SubscriptionId, AppName, FunctionName, EventName, Average, Minimum, Maximum, Count, HostVersion, EventTimestamp, Data, RuntimeSiteName, SlotName);
7070
}
7171
}
7272

src/WebJobs.Script.WebHost/Diagnostics/IEventGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ namespace Microsoft.Azure.WebJobs.Script.WebHost.Diagnostics
88
{
99
public interface IEventGenerator
1010
{
11-
void LogFunctionTraceEvent(LogLevel level, string subscriptionId, string appName, string functionName, string eventName, string source, string details, string summary, string exceptionType, string exceptionMessage, string functionInvocationId, string hostInstanceId, string activityId, string runtimeSiteName);
11+
void LogFunctionTraceEvent(LogLevel level, string subscriptionId, string appName, string functionName, string eventName, string source, string details, string summary, string exceptionType, string exceptionMessage, string functionInvocationId, string hostInstanceId, string activityId, string runtimeSiteName, string slotName);
1212

13-
void LogFunctionMetricEvent(string subscriptionId, string appName, string functionName, string eventName, long average, long minimum, long maximum, long count, DateTime eventTimestamp, string data, string runtimeSiteName);
13+
void LogFunctionMetricEvent(string subscriptionId, string appName, string functionName, string eventName, long average, long minimum, long maximum, long count, DateTime eventTimestamp, string data, string runtimeSiteName, string slotName);
1414

1515
void LogFunctionExecutionAggregateEvent(string siteName, string functionName, long executionTimeInMs, long functionStartedCount, long functionCompletedCount, long functionFailedCount);
1616

src/WebJobs.Script.WebHost/Diagnostics/LinuxAppServiceEventGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public LinuxAppServiceEventGenerator(LinuxAppServiceFileLoggerFactory loggerFact
2323

2424
public override void LogFunctionTraceEvent(LogLevel level, string subscriptionId, string appName, string functionName, string eventName,
2525
string source, string details, string summary, string exceptionType, string exceptionMessage,
26-
string functionInvocationId, string hostInstanceId, string activityId, string runtimeSiteName)
26+
string functionInvocationId, string hostInstanceId, string activityId, string runtimeSiteName, string slotName)
2727
{
2828
var eventTimestamp = DateTime.UtcNow.ToString(EventTimestampFormat);
2929
var hostVersion = ScriptHost.Version;
@@ -34,7 +34,7 @@ public override void LogFunctionTraceEvent(LogLevel level, string subscriptionId
3434
}
3535

3636
public override void LogFunctionMetricEvent(string subscriptionId, string appName, string functionName, string eventName, long average,
37-
long minimum, long maximum, long count, DateTime eventTimestamp, string data, string runtimeSiteName)
37+
long minimum, long maximum, long count, DateTime eventTimestamp, string data, string runtimeSiteName, string slotName)
3838
{
3939
var hostVersion = ScriptHost.Version;
4040
var logger = _loggerFactory.GetOrCreate(FunctionsMetricsCategory);

0 commit comments

Comments
 (0)