Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ public void AppendRecordDurationStatement(StringBuilder builder, in InterceptorT
builder.Append('.');
builder.Append(RecordDurationMethod);
builder.Append("(metricStart");
AppendRecordDurationArguments(builder, target);
AppendRecordDurationArguments(builder, in target);
builder.AppendLine(");");
}

Expand Down Expand Up @@ -286,7 +286,7 @@ public void Append(StringBuilder builder, in InterceptorTarget target)
builder.Append('.');
builder.Append(EnrichMethod);
builder.Append("(activity");
AppendArguments(builder, target);
AppendArguments(builder, in target);
builder.AppendLine(");");
builder.AppendLine(" }");
}
Expand All @@ -299,9 +299,9 @@ private void AppendArguments(StringBuilder builder, in InterceptorTarget target)
return;
case TraceActivityEnrichmentArgumentKind.GraphQlExecutionOptions:
builder.Append(", ");
QylAutoInstrumentationGenerator.AppendGraphQlOperationNameExpression(builder, target);
QylAutoInstrumentationGenerator.AppendGraphQlOperationNameExpression(builder, in target);
builder.Append(", ");
QylAutoInstrumentationGenerator.AppendGraphQlDocumentCaptureExpression(builder, target);
QylAutoInstrumentationGenerator.AppendGraphQlDocumentCaptureExpression(builder, in target);
return;
default:
throw new InvalidOperationException("Unknown trace activity enrichment argument kind: " + Arguments);
Expand Down Expand Up @@ -344,7 +344,7 @@ public void AppendStartActivity(StringBuilder builder, in InterceptorTarget targ
builder.Append('.');
builder.Append(RuntimeHelper.StartActivityMethod);
builder.Append('(');
QylAutoInstrumentationGenerator.AppendTraceStartActivityArguments(builder, target, RuntimeHelper.StartActivityArguments);
QylAutoInstrumentationGenerator.AppendTraceStartActivityArguments(builder, in target, RuntimeHelper.StartActivityArguments);
builder.Append(')');
}

Expand All @@ -365,7 +365,7 @@ public InterceptorMatcherDescriptor(
InterceptorEmitterFamily family,
InterceptorMethodShape methodShape,
SymbolInterceptorMatcher matcher)
: this(name, receiverTypePattern, QylAutoInstrumentationGenerator.InterceptorKinds(targetKind), QylAutoInstrumentationGenerator.ContractKeys(contractKey), family, methodShape, matcher)
: this(name, receiverTypePattern, QylAutoInstrumentationGenerator.InterceptorKinds(targetKind), QylAutoInstrumentationGenerator.BuildContractKeys(contractKey), family, methodShape, matcher)
{
}

Expand All @@ -389,7 +389,7 @@ public InterceptorMatcherDescriptor(
InterceptorEmitterFamily family,
InterceptorMethodShape methodShape,
SymbolInterceptorMatcher matcher)
: this(name, receiverTypePattern, targetKindMask, QylAutoInstrumentationGenerator.ContractKeys(contractKey), family, methodShape, matcher)
: this(name, receiverTypePattern, targetKindMask, QylAutoInstrumentationGenerator.BuildContractKeys(contractKey), family, methodShape, matcher)
{
}

Expand Down Expand Up @@ -422,7 +422,7 @@ public InterceptorMatcherDescriptor(
InterceptorEmitterFamily family,
InterceptorMethodShape methodShape,
ReceiverInterceptorMatcher matcher)
: this(name, receiverTypePattern, QylAutoInstrumentationGenerator.InterceptorKinds(targetKind), QylAutoInstrumentationGenerator.ContractKeys(contractKey), family, methodShape, matcher)
: this(name, receiverTypePattern, QylAutoInstrumentationGenerator.InterceptorKinds(targetKind), QylAutoInstrumentationGenerator.BuildContractKeys(contractKey), family, methodShape, matcher)
{
}

Expand All @@ -446,7 +446,7 @@ public InterceptorMatcherDescriptor(
InterceptorEmitterFamily family,
InterceptorMethodShape methodShape,
ReceiverInterceptorMatcher matcher)
: this(name, receiverTypePattern, targetKindMask, QylAutoInstrumentationGenerator.ContractKeys(contractKey), family, methodShape, matcher)
: this(name, receiverTypePattern, targetKindMask, QylAutoInstrumentationGenerator.BuildContractKeys(contractKey), family, methodShape, matcher)
{
}

Expand Down Expand Up @@ -512,10 +512,8 @@ private readonly record struct InterceptorTarget(
string ExtensionContainingType = "",
EquatableArray<string> AdditionalContractKeys = default,
string MatcherName = "",
string MatcherReceiverTypePattern = "",
InterceptorEmitterFamily MatcherFamily = default,
InterceptorMethodShape MatcherMethodShape = default,
EquatableArray<string> MatcherContractKeys = default);
InterceptorMethodShape MatcherMethodShape = default);

private readonly record struct InterceptedInvocation(InterceptorTarget Target, InterceptableLocation Location);
}
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ private static bool TryGetHttpWebRequestInvocation(IMethodSymbol symbol, ITypeSy
returnType,
parameters,
isAsync,
AdditionalContractKeys: ContractKeys("signals.metrics.HTTPCLIENT"));
AdditionalContractKeys: BuildContractKeys("signals.metrics.HTTPCLIENT"));
return true;
}

Expand Down Expand Up @@ -173,7 +173,7 @@ symbol.Parameters.Length is not 1 ||
CleanTypeName(symbol.ContainingType),
"Invoke",
"global::System.Threading.Tasks.Task",
Parameters(symbol),
BuildParameters(symbol),
false);
return true;
}
Expand All @@ -197,7 +197,7 @@ private static bool TryGetAspNetCoreWebApplicationBuilderBuildInvocation(IMethod
CleanTypeName(symbol.ContainingType),
"Build",
"global::Microsoft.AspNetCore.Builder.WebApplication",
Parameters(symbol),
BuildParameters(symbol),
false);
return true;
}
Expand All @@ -220,7 +220,7 @@ private static bool TryGetAspNetCoreEndpointMapInvocation(IMethodSymbol symbol,
"global::Microsoft.AspNetCore.Routing.IEndpointRouteBuilder",
symbol.Name,
returnType,
Parameters(symbol),
BuildParameters(symbol),
false);
return true;
}
Expand Down Expand Up @@ -291,10 +291,10 @@ symbol.Parameters.Length is not 1 ||
CleanTypeName(receiverType),
"AddMeter",
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
false,
ExtensionContainingType: extensionContainingType,
AdditionalContractKeys: ContractKeys(
AdditionalContractKeys: BuildContractKeys(
"signals.metrics.HTTPCLIENT",
"signals.metrics.NETRUNTIME",
"signals.metrics.NPGSQL",
Expand Down Expand Up @@ -323,7 +323,7 @@ symbol.MethodKind is not MethodKind.Ordinary ||
CleanTypeName(symbol.ContainingType),
symbol.Name,
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
isAsync);
return true;
}
Expand Down Expand Up @@ -396,7 +396,7 @@ symbol.DeclaredAccessibility is not Accessibility.Public ||
CleanTypeName(symbol.ContainingType),
symbol.Name,
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
isAsync,
GetTypeParameterList(symbol),
GetConstraintClauses(symbol));
Expand Down Expand Up @@ -431,7 +431,7 @@ symbol.MethodKind is not MethodKind.Ordinary and not MethodKind.ReducedExtension
CleanTypeName(receiverType),
symbol.Name,
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
isAsync,
GetTypeParameterList(symbol),
GetConstraintClauses(symbol),
Expand Down Expand Up @@ -492,7 +492,7 @@ symbol.MethodKind is not MethodKind.Ordinary ||
CleanTypeName(symbol.ContainingType),
symbol.Name,
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
IsTask(symbol.ReturnType) || TryGetTaskResult(symbol.ReturnType, out _));
return true;
}
Expand Down Expand Up @@ -530,7 +530,7 @@ private static bool TryGetGrpcNetClientAsyncUnaryInvocation(IMethodSymbol symbol
CleanTypeName(symbol.ContainingType),
symbol.Name,
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
false);
return true;
}
Expand Down Expand Up @@ -566,7 +566,7 @@ private static bool TryGetGrpcNetClientStreamingInvocation(IMethodSymbol symbol,
CleanTypeName(symbol.ContainingType),
symbol.Name,
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
false);
return true;
}
Expand Down Expand Up @@ -605,7 +605,7 @@ private static bool TryGetMassTransitInvocation(IMethodSymbol symbol, out Interc
CleanTypeName(receiverType),
symbol.Name,
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
true,
GetTypeParameterList(symbol),
GetConstraintClauses(symbol),
Expand Down Expand Up @@ -642,7 +642,7 @@ private static bool TryGetNServiceBusInvocation(IMethodSymbol symbol, out Interc
var typeParameterList = GetTypeParameterList(symbol);
var receiverTypeName = CleanTypeName(receiverType);
var returnTypeName = CleanTypeName(symbol.ReturnType, symbol);
var parameters = Parameters(symbol);
var parameters = BuildParameters(symbol);
if (string.IsNullOrEmpty(typeParameterList))
typeParameterList = GetTypeParameterListFromVisibleTypes(symbol, receiverType);
if (string.IsNullOrEmpty(typeParameterList))
Expand All @@ -660,7 +660,7 @@ private static bool TryGetNServiceBusInvocation(IMethodSymbol symbol, out Interc
typeParameterList,
GetConstraintClauses(symbol),
GetReducedExtensionContainingType(symbol),
AdditionalContractKeys: ContractKeys("signals.metrics.NSERVICEBUS"));
AdditionalContractKeys: BuildContractKeys("signals.metrics.NSERVICEBUS"));
return true;
}

Expand Down Expand Up @@ -690,7 +690,7 @@ symbol.Parameters.Length is not 1 ||
CleanTypeName(symbol.ContainingType),
"Execute",
"global::System.Threading.Tasks.Task",
Parameters(symbol),
BuildParameters(symbol),
true);
return true;
}
Expand Down Expand Up @@ -778,7 +778,7 @@ resultType is not INamedTypeSymbol namedResult ||
CleanTypeName(symbol.ContainingType),
"ExecuteAsync",
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
true);
return true;
}
Expand All @@ -803,7 +803,7 @@ private static bool TryGetMongoDbInvocation(IMethodSymbol symbol, out Intercepto
var typeParameterList = GetTypeParameterList(symbol);
var receiverTypeName = CleanTypeName(receiverType);
var returnTypeName = CleanTypeName(symbol.ReturnType, symbol);
var parameters = Parameters(symbol);
var parameters = BuildParameters(symbol);
if (string.IsNullOrEmpty(typeParameterList))
typeParameterList = GetTypeParameterListFromVisibleTypes(symbol, receiverType);
if (string.IsNullOrEmpty(typeParameterList))
Expand Down Expand Up @@ -935,7 +935,7 @@ symbol.Parameters.Length is not 5 ||
CleanTypeName(symbol.ContainingType),
"Log",
"void",
Parameters(symbol),
BuildParameters(symbol),
false);
return true;
}
Expand All @@ -960,7 +960,7 @@ private static bool TryGetLoggerExtensionInvocation(IMethodSymbol symbol, out In
"global::Microsoft.Extensions.Logging.ILogger",
symbol.Name,
"void",
Parameters(symbol),
BuildParameters(symbol),
false);
return true;
}
Expand Down Expand Up @@ -1026,7 +1026,7 @@ private static bool TryGetNLogInvocation(IMethodSymbol symbol, out InterceptorTa
CleanTypeName(symbol.ContainingType),
symbol.Name,
"void",
Parameters(symbol),
BuildParameters(symbol),
false,
GetTypeParameterList(symbol),
GetConstraintClauses(symbol),
Expand All @@ -1051,7 +1051,7 @@ private static bool TryGetLog4NetInvocation(IMethodSymbol symbol, out Intercepto
CleanTypeName(symbol.ContainingType),
symbol.Name,
"void",
Parameters(symbol),
BuildParameters(symbol),
false,
GetTypeParameterList(symbol),
GetConstraintClauses(symbol),
Expand Down Expand Up @@ -1262,7 +1262,7 @@ original.Parameters.Length is 0 ||
CleanTypeName(original.Parameters[0].Type),
symbol.Name,
CleanTypeName(symbol.ReturnType, symbol),
Parameters(symbol),
BuildParameters(symbol),
true,
GetTypeParameterList(symbol),
GetConstraintClauses(symbol),
Expand Down
Loading