< Summary

Class:Azure.Core.Pipeline.DiagnosticScopeFactory
Assembly:Azure.DigitalTwins.Core
File(s):C:\Git\azure-sdk-for-net\sdk\core\Azure.Core\src\Shared\DiagnosticScopeFactory.cs
Covered lines:11
Uncovered lines:2
Coverable lines:13
Total lines:46
Line coverage:84.6% (11 of 13)
Covered branches:4
Total branches:6
Branch coverage:66.6% (4 of 6)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor(...)-100%100%
get_IsActivityEnabled()-100%100%
CreateScope(...)-66.67%50%

File(s)

C:\Git\azure-sdk-for-net\sdk\core\Azure.Core\src\Shared\DiagnosticScopeFactory.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License.
 3
 4using System;
 5using System.Diagnostics;
 6using System.Reflection;
 7
 8#nullable enable
 9
 10namespace Azure.Core.Pipeline
 11{
 12#pragma warning disable CA1001 // Types that own disposable fields should be disposable
 13    internal class DiagnosticScopeFactory
 14#pragma warning restore CA1001 // Types that own disposable fields should be disposable
 15    {
 16        private readonly string? _resourceProviderNamespace;
 17        private readonly DiagnosticListener? _source;
 18
 6019        public DiagnosticScopeFactory(string clientNamespace, string? resourceProviderNamespace, bool isActivityEnabled)
 20        {
 6021            _resourceProviderNamespace = resourceProviderNamespace;
 6022            IsActivityEnabled = isActivityEnabled;
 6023            if (IsActivityEnabled)
 24            {
 6025                _source = new DiagnosticListener(clientNamespace);
 26            }
 6027        }
 28
 6029        public bool IsActivityEnabled { get; }
 30
 31        public DiagnosticScope CreateScope(string name)
 32        {
 20633            if (_source == null)
 34            {
 035                return default;
 36            }
 20637            var scope = new DiagnosticScope(name, _source);
 38
 20639            if (_resourceProviderNamespace != null)
 40            {
 041                scope.AddAttribute("az.namespace", _resourceProviderNamespace);
 42            }
 20643            return scope;
 44        }
 45    }
 46}