public static void Initialize() { try { if (string.IsNullOrWhiteSpace(TraceAgentMetadata.ProcessPath)) { return; } if (DomainMetadata.ShouldAvoidAppDomain()) { Log.Information("Skipping process manager initialization for AppDomain: {AppDomain}", DomainMetadata.AppDomainName); return; } if (!Directory.Exists(TraceAgentMetadata.DirectoryPath)) { Log.Warning("Directory for trace agent does not exist: {Directory}", TraceAgentMetadata.DirectoryPath); return; } Log.Debug("Starting child processes from process {ProcessName}, AppDomain {AppDomain}.", DomainMetadata.ProcessName, DomainMetadata.AppDomainName); StartProcesses(); } catch (Exception ex) { Log.Error(ex, "Error when attempting to initialize process manager."); } }
public EFRepositoryProvider( IServiceProvider serviceProvider, DomainMetadata domainMetadata, IObjectAccessor <MiCakeEFCoreOptions> options) { _serviceProvider = serviceProvider; _aggregateRootsMetadata = domainMetadata.DomainObject.AggregateRoots; _options = options.Value; }
/// <summary> /// Initializes a new instance of the <see cref="ImmutableTracerSettings"/> class from /// a TracerSettings instance. /// </summary> /// <param name="settings">The tracer settings to use to populate the immutable tracer settings</param> public ImmutableTracerSettings(TracerSettings settings) { Environment = settings.Environment; ServiceName = settings.ServiceName; ServiceVersion = settings.ServiceVersion; TraceEnabled = settings.TraceEnabled; ExporterSettings = new ImmutableExporterSettings(settings.ExporterSettings); TracesTransport = settings.TracesTransport; #pragma warning disable 618 // App analytics is deprecated, but still used AnalyticsEnabled = settings.AnalyticsEnabled; #pragma warning restore 618 MaxTracesSubmittedPerSecond = settings.MaxTracesSubmittedPerSecond; CustomSamplingRules = settings.CustomSamplingRules; GlobalSamplingRate = settings.GlobalSamplingRate; Integrations = new ImmutableIntegrationSettingsCollection(settings.Integrations, settings.DisabledIntegrationNames); GlobalTags = new ReadOnlyDictionary <string, string>(settings.GlobalTags); HeaderTags = new ReadOnlyDictionary <string, string>(settings.HeaderTags); GrpcTags = new ReadOnlyDictionary <string, string>(settings.GrpcTags); TracerMetricsEnabled = settings.TracerMetricsEnabled; RuntimeMetricsEnabled = settings.RuntimeMetricsEnabled; KafkaCreateConsumerScopeEnabled = settings.KafkaCreateConsumerScopeEnabled; StartupDiagnosticLogEnabled = settings.StartupDiagnosticLogEnabled; HttpClientExcludedUrlSubstrings = settings.HttpClientExcludedUrlSubstrings; HttpServerErrorStatusCodes = settings.HttpServerErrorStatusCodes; HttpClientErrorStatusCodes = settings.HttpClientErrorStatusCodes; ServiceNameMappings = settings.ServiceNameMappings; TraceBufferSize = settings.TraceBufferSize; TraceBatchInterval = settings.TraceBatchInterval; RouteTemplateResourceNamesEnabled = settings.RouteTemplateResourceNamesEnabled; DelayWcfInstrumentationEnabled = settings.DelayWcfInstrumentationEnabled; TraceMethods = settings.TraceMethods; IsActivityListenerEnabled = settings.IsActivityListenerEnabled; TagMongoCommands = settings.TagMongoCommands; TagRedisCommands = settings.TagRedisCommands; TagElasticsearchQueries = settings.TagElasticsearchQueries; TraceResponseHeaderEnabled = settings.TraceResponseHeaderEnabled; RecordedValueMaxLength = settings.RecordedValueMaxLength; SignalFxAccessToken = settings.SignalFxAccessToken; Convention = settings.Convention; Exporter = settings.Exporter; ThreadSamplingEnabled = settings.ThreadSamplingEnabled; ThreadSamplingPeriod = settings.ThreadSamplingPeriod; LogSubmissionSettings = ImmutableDirectLogSubmissionSettings.Create(settings.LogSubmissionSettings); // Logs injection is enabled by default if direct log submission is enabled, otherwise disabled by default LogsInjectionEnabled = settings.LogSubmissionSettings.LogsInjectionEnabled ?? LogSubmissionSettings.IsEnabled; PropagationStyleInject = settings.PropagationStyleInject; PropagationStyleExtract = settings.PropagationStyleExtract; // we cached the static instance here, because is being used in the hotpath // by IsIntegrationEnabled method (called from all integrations) _domainMetadata = DomainMetadata.Instance; ExpandRouteTemplatesEnabled = settings.ExpandRouteTemplatesEnabled || !RouteTemplateResourceNamesEnabled; }
internal static bool IsIntegrationEnabled(this TracerSettings settings, IntegrationInfo integration, bool defaultValue = true) { if (settings.TraceEnabled && !DomainMetadata.ShouldAvoidAppDomain()) { return(settings.Integrations[integration].Enabled ?? defaultValue); } return(false); }
public DefaultFreeRepositoryFactory( IEnumerable <IFreeRepositoryProvider <TEntity, TKey> > repositoryProvider, DomainMetadata domainMetadata ) { //if has more repository provider(ef core,dapper,ado).always choose last one. _repositoryProvider = repositoryProvider.Last(); _entityDescriptors = domainMetadata.DomainObject.Entities; }
internal bool IsOptInIntegrationEnabled(string name) { if (TraceEnabled && !DomainMetadata.ShouldAvoidAppDomain()) { var disabled = Integrations[name].Enabled != true || DisabledIntegrationNames.Contains(name); return(!disabled); } return(false); }
public DefaultRepositoryFacotry( IEnumerable <IRepositoryProvider <TAggregateRoot, TKey> > repositoryProvider, DomainMetadata domainMetadata ) { //if has more repository provider(ef core,dapper,ado).always choose last one. _repositoryProvider = repositoryProvider.Last(); _aggregateRootDescriptors = domainMetadata.DomainObject.AggregateRoots; }
public static void Initialize() { try { if (string.IsNullOrWhiteSpace(TraceAgentMetadata.ProcessPath)) { return; } if (DomainMetadata.ShouldAvoidAppDomain()) { Log.Information("Skipping process manager initialization for AppDomain: {0}", DomainMetadata.AppDomainName); return; } if (!Directory.Exists(TraceAgentMetadata.DirectoryPath)) { Log.Warning("Directory for trace agent does not exist: {0}", TraceAgentMetadata.DirectoryPath); return; } InitializePortManagerClaimFiles(TraceAgentMetadata.DirectoryPath); _cancellationTokenSource = new CancellationTokenSource(); if (_isProcessManager) { Log.Debug("Starting child processes from process {0}, AppDomain {1}.", DomainMetadata.ProcessName, DomainMetadata.AppDomainName); StartProcesses(); } Log.Debug("Initializing sub process port file watchers."); foreach (var instance in Processes) { instance.InitializePortFileWatcher(); } } catch (Exception ex) { Log.SafeLogError(ex, "Error when attempting to initialize process manager."); } }
/// <summary> /// Initializes a new instance of the <see cref="ImmutableTracerSettings"/> class from /// a TracerSettings instance. /// </summary> /// <param name="settings">The tracer settings to use to populate the immutable tracer settings</param> public ImmutableTracerSettings(TracerSettings settings) { Environment = settings.Environment; ServiceName = settings.ServiceName; ServiceVersion = settings.ServiceVersion; TraceEnabled = settings.TraceEnabled; Exporter = new ImmutableExporterSettings(settings.Exporter); #pragma warning disable 618 // App analytics is deprecated, but still used AnalyticsEnabled = settings.AnalyticsEnabled; #pragma warning restore 618 LogsInjectionEnabled = settings.LogsInjectionEnabled; MaxTracesSubmittedPerSecond = settings.MaxTracesSubmittedPerSecond; CustomSamplingRules = settings.CustomSamplingRules; GlobalSamplingRate = settings.GlobalSamplingRate; Integrations = new ImmutableIntegrationSettingsCollection(settings.Integrations, settings.DisabledIntegrationNames); GlobalTags = new ReadOnlyDictionary <string, string>(settings.GlobalTags); HeaderTags = new ReadOnlyDictionary <string, string>(settings.HeaderTags); TracerMetricsEnabled = settings.TracerMetricsEnabled; RuntimeMetricsEnabled = settings.RuntimeMetricsEnabled; KafkaCreateConsumerScopeEnabled = settings.KafkaCreateConsumerScopeEnabled; StartupDiagnosticLogEnabled = settings.StartupDiagnosticLogEnabled; HttpClientExcludedUrlSubstrings = settings.HttpClientExcludedUrlSubstrings; HttpServerErrorStatusCodes = settings.HttpServerErrorStatusCodes; HttpClientErrorStatusCodes = settings.HttpClientErrorStatusCodes; ServiceNameMappings = settings.ServiceNameMappings; TraceBufferSize = settings.TraceBufferSize; TraceBatchInterval = settings.TraceBatchInterval; RouteTemplateResourceNamesEnabled = settings.RouteTemplateResourceNamesEnabled; DelayWcfInstrumentationEnabled = settings.DelayWcfInstrumentationEnabled; PropagationStyleInject = settings.PropagationStyleInject; PropagationStyleExtract = settings.PropagationStyleExtract; LogSubmissionSettings = ImmutableDirectLogSubmissionSettings.Create(settings.LogSubmissionSettings); // we cached the static instance here, because is being used in the hotpath // by IsIntegrationEnabled method (called from all integrations) _domainMetadata = DomainMetadata.Instance; ExpandRouteTemplatesEnabled = settings.ExpandRouteTemplatesEnabled || !RouteTemplateResourceNamesEnabled; }
static void AppDomainCallback() { var result = DomainMetadata.ShouldAvoidAppDomain(); AppDomain.CurrentDomain.SetData(TestDataKey, result); }
private List <Type> FilterPersistentTypeFormMetadata(DomainMetadata domainMetadata) { return(domainMetadata.DomainObject.AggregateRoots.Where(s => s.HasPersistentObject && s.PersistentObject != null) .Select(j => j.PersistentObject).ToList()); }
public PersistentObjectActivator(DomainMetadata domainMetadata) { _domainMetadata = domainMetadata; }