Otlp\Storage\TelemetryRepository.cs (23)
40private readonly ConcurrentDictionary<ApplicationKey, OtlpApplication> _applications = new();
47private readonly Dictionary<ApplicationKey, int> _applicationUnviewedErrorLogs = new();
137public OtlpApplication? GetApplication(ApplicationKey key)
141throw new InvalidOperationException($"{nameof(ApplicationKey)} must have an instance ID.");
148public List<OtlpApplication> GetApplications(ApplicationKey key, bool includeUninstrumentedPeers = false)
164public Dictionary<ApplicationKey, int> GetApplicationUnviewedErrorLogsCount()
178internal void MarkViewedErrorLogs(ApplicationKey? key)
214var key = resource.GetApplicationKey();
225private (OtlpApplication Application, bool IsNew) GetOrAddApplication(ApplicationKey key, bool uninstrumentedPeer)
258public Subscription OnNewLogs(ApplicationKey? applicationKey, SubscriptionType subscriptionType, Func<Task> callback)
263public Subscription OnNewMetrics(ApplicationKey? applicationKey, SubscriptionType subscriptionType, Func<Task> callback)
268public Subscription OnNewTraces(ApplicationKey? applicationKey, SubscriptionType subscriptionType, Func<Task> callback)
273private Subscription AddSubscription(string name, ApplicationKey? applicationKey, SubscriptionType subscriptionType, Func<Task> callback, List<Subscription> subscriptions)
437public List<string> GetLogPropertyKeys(ApplicationKey? applicationKey)
464public List<string> GetTracePropertyKeys(ApplicationKey? applicationKey)
572private static bool MatchApplications(ApplicationKey applicationKey, List<OtlpApplication> applications)
589var applicationKey = applications[i].ApplicationKey;
611public void ClearTraces(ApplicationKey? applicationKey = null)
648public void ClearStructuredLogs(ApplicationKey? applicationKey = null)
685public void ClearMetrics(ApplicationKey? applicationKey = null)
1091var appKey = ApplicationKey.Create(name: uninstrumentedPeer.DisplayName, instanceId: uninstrumentedPeer.Name);
1227public List<OtlpInstrumentSummary> GetInstrumentsSummaries(ApplicationKey key)