public void Initialize()

in src/DotNetWorker.ApplicationInsights/FunctionsTelemetryModule.cs [24:67]


        public void Initialize(TelemetryConfiguration configuration)
        {
            _telemetryClient = new TelemetryClient(configuration);

            _listener = new ActivityListener
            {
                ShouldListenTo = source => source.Name.StartsWith(TraceConstants.FunctionsActivitySource),
                ActivityStarted = activity =>
                {
                    var dependency = _telemetryClient.StartOperation<DependencyTelemetry>(activity);
                    dependency.Telemetry.Type = DependencyTypeInProc; // Required for proper rendering in App Insights.
                    activity.SetCustomProperty(DependencyTelemetryKey, dependency);
                },
                ActivityStopped = activity =>
                {
                    // Check for Exceptions events
                    foreach (ActivityEvent activityEvent in activity.Events)
                    {
                        TrackExceptionTelemetryFromActivityEvent(activityEvent, _telemetryClient);
                    }

                    if (activity.GetCustomProperty(DependencyTelemetryKey) is IOperationHolder<DependencyTelemetry> dependencyHolder)
                    {
                        var dependency = dependencyHolder.Telemetry;

                        foreach (var item in activity.Tags)
                        {
                            if (!dependency.Properties.ContainsKey(item.Key))
                            {
                                dependency.Properties[item.Key] = item.Value;
                            }
                        }

                        dependency.Success = activity.Status != ActivityStatusCode.Error;
                        _telemetryClient.StopOperation(dependencyHolder);
                        dependencyHolder.Dispose();
                    }
                },
                Sample = (ref ActivityCreationOptions<ActivityContext> _) => ActivitySamplingResult.AllData,
                SampleUsingParentId = (ref ActivityCreationOptions<string> _) => ActivitySamplingResult.AllData
            };

            ActivitySource.AddActivityListener(_listener);
        }