/// <summary>
 /// OnMethodBegin callback
 /// </summary>
 /// <typeparam name="TTarget">Type of the target</typeparam>
 /// <typeparam name="TFunction">Type of the invoker</typeparam>
 /// <param name="instance">Instance value, aka `this` of the instrumented method.</param>
 /// <param name="functionInstance">First argument</param>
 /// <param name="cancellationToken">Second argument</param>
 /// <returns>Calltarget state value</returns>
 internal static CallTargetState OnMethodBegin <TTarget, TFunction>(TTarget instance, TFunction functionInstance, CancellationToken cancellationToken)
     where TFunction : IFunctionInstance
 {
     return(AzureFunctionsCommon.OnFunctionExecutionBegin(instance, functionInstance));
 }
 /// <summary>
 /// OnMethodBegin callback
 /// </summary>
 /// <typeparam name="TTarget">Type of the target</typeparam>
 /// <param name="instance">Instance value, aka `this` of the instrumented method.</param>
 /// <param name="httpContext">First argument</param>
 /// <returns>Calltarget state value</returns>
 internal static CallTargetState OnMethodBegin <TTarget>(TTarget instance, HttpContext httpContext)
 {
     return(AzureFunctionsCommon.OnFunctionMiddlewareBegin(instance, httpContext));
 }