115 instantiations of FieldTelemetryFilter
Aspire.Dashboard (35)
Api\TelemetryApiService.cs (9)
97traceFilters.Add(new FieldTelemetryFilter 182filters.Add(new FieldTelemetryFilter 196filters.Add(new FieldTelemetryFilter 294filters.Add(new FieldTelemetryFilter 307filters.Add(new FieldTelemetryFilter 393filters.Add(new FieldTelemetryFilter 409filters.Add(new FieldTelemetryFilter 433filters.Add(new FieldTelemetryFilter 449filters.Add(new FieldTelemetryFilter
Components\Controls\ApplicationSummary.razor.cs (4)
41private static readonly List<TelemetryFilter> s_errorLogFilters = [new FieldTelemetryFilter { Field = nameof(OtlpLogEntry.Severity), Condition = FilterCondition.GreaterThanOrEqual, Value = nameof(LogLevel.Error) }]; 42private static readonly List<TelemetryFilter> s_warningLogFilters = [new FieldTelemetryFilter { Field = nameof(OtlpLogEntry.Severity), Condition = FilterCondition.Equals, Value = nameof(LogLevel.Warning) }]; 43private static readonly FieldTelemetryFilter s_failedTraceFilter = new() { Field = KnownTraceFields.StatusField, Condition = FilterCondition.Equals, Value = nameof(OtlpSpanStatusCode.Error) }; 511private static FieldTelemetryFilter CreateLogTimeFilter(FilterCondition condition, DateTime time) => new()
Components\Controls\ResourcePaneInsights.razor.cs (3)
68new() { Field = KnownTraceFields.TimestampField, Condition = FilterCondition.GreaterThanOrEqual, Value = snapshot.WindowStart.ToString("O", CultureInfo.InvariantCulture) }, 69new() { Field = KnownTraceFields.TimestampField, Condition = FilterCondition.LessThan, Value = snapshot.WindowEnd.ToString("O", CultureInfo.InvariantCulture) } 73filters.Add(new() { Field = KnownTraceFields.StatusField, Condition = FilterCondition.Equals, Value = nameof(OtlpSpanStatusCode.Error) });
Components\Dialogs\FilterDialog.razor.cs (1)
399filter = new FieldTelemetryFilter
Components\Legacy\Pages\StructuredLogs.razor.cs (2)
183ViewModel.AddFilter(new FieldTelemetryFilter 190ViewModel.AddFilter(new FieldTelemetryFilter
Components\Legacy\Pages\TraceDetail.razor.cs (1)
309new FieldTelemetryFilter
Components\Pages\ResourceOverview.razor.cs (4)
325List<TelemetryFilter> errorFilters = [new FieldTelemetryFilter { Field = nameof(OtlpLogEntry.Severity), Condition = FilterCondition.GreaterThanOrEqual, Value = nameof(LogLevel.Error) }]; 326List<TelemetryFilter> warningFilters = [new FieldTelemetryFilter { Field = nameof(OtlpLogEntry.Severity), Condition = FilterCondition.Equals, Value = nameof(LogLevel.Warning) }]; 327List<TelemetryFilter> attentionFilters = [new FieldTelemetryFilter { Field = nameof(OtlpLogEntry.Severity), Condition = FilterCondition.GreaterThanOrEqual, Value = nameof(LogLevel.Warning) }]; 344List<TelemetryFilter> failedTraceFilters = [new FieldTelemetryFilter { Field = KnownTraceFields.StatusField, Condition = FilterCondition.Equals, Value = nameof(OtlpSpanStatusCode.Error) }];
Components\Pages\StructuredLogs.razor.cs (2)
208ViewModel.AddFilter(new FieldTelemetryFilter 215ViewModel.AddFilter(new FieldTelemetryFilter
Components\Pages\TraceDetail.razor.cs (1)
335new FieldTelemetryFilter
Extensions\TelemetryFilterFormatter.cs (1)
74return new FieldTelemetryFilter
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
605new FieldTelemetryFilter
Model\StructuredLogsViewModel.cs (2)
138filters.Add(new FieldTelemetryFilter { Field = nameof(OtlpLogEntry.Message), Condition = FilterCondition.Contains, Value = filterText }); 143filters.Add(new FieldTelemetryFilter { Field = nameof(OtlpLogEntry.Severity), Condition = FilterCondition.GreaterThanOrEqual, Value = logLevel.Value.ToString() });
Otlp\Storage\SqliteTelemetryRepository.cs (3)
226new FieldTelemetryFilter { Field = KnownStructuredLogFields.TraceIdField, Condition = FilterCondition.Equals, Value = traceId }, 227new FieldTelemetryFilter { Field = KnownStructuredLogFields.SpanIdField, Condition = FilterCondition.Equals, Value = spanId } 241new FieldTelemetryFilter { Field = KnownStructuredLogFields.TraceIdField, Condition = FilterCondition.Equals, Value = traceId }
Otlp\Storage\SqliteTelemetryRepository.Traces.Reads.cs (1)
602var violationFilter = new FieldTelemetryFilter
Aspire.Dashboard.Components.Tests (25)
Dialogs\FilterDialogTests.cs (18)
27CreateContent(new FieldTelemetryFilter 46builder.Add(p => p.Content, CreateContent(new FieldTelemetryFilter 76builder.Add(p => p.Content, CreateContent(new FieldTelemetryFilter 94builder.Add(p => p.Content, CreateContent(new FieldTelemetryFilter 130Filter = new FieldTelemetryFilter 158var content = CreateContent(new FieldTelemetryFilter 200var content = CreateContent(new FieldTelemetryFilter 244Filter = new FieldTelemetryFilter 281Filter = new FieldTelemetryFilter 335var content = CreateContent(new FieldTelemetryFilter 374var content = CreateContent(new FieldTelemetryFilter 412var content = CreateContent(new FieldTelemetryFilter 451builder.Add(p => p.Content, CreateContent(new FieldTelemetryFilter 477builder.Add(p => p.Content, CreateContent(new FieldTelemetryFilter 502builder.Add(p => p.Content, CreateContent(new FieldTelemetryFilter 525builder.Add(p => p.Content, CreateContent(new FieldTelemetryFilter 546builder.Add(p => p.Content, CreateContent(new FieldTelemetryFilter 570builder.Add(p => p.Content, CreateContent(new FieldTelemetryFilter
Pages\StructuredLogsTests.cs (4)
155var filter = new FieldTelemetryFilter { Field = "TestField", Condition = FilterCondition.Contains, Value = "TestValue" }; 191var filter1 = new FieldTelemetryFilter { Field = "Test:Field", Condition = FilterCondition.Contains, Value = "Test Value" }; 192var filter2 = new FieldTelemetryFilter { Field = "Test!@#", Condition = FilterCondition.Contains, Value = "http://localhost#fragment?hi=true" }; 193var filter3 = new FieldTelemetryFilter { Field = "\u2764\uFE0F", Condition = FilterCondition.Contains, Value = "\u4F60" };
Pages\TraceDetailsTests.cs (3)
751new FieldTelemetryFilter 778new FieldTelemetryFilter 875new FieldTelemetryFilter
Aspire.Dashboard.Tests (55)
DashboardJsonSerializerContextTests.cs (1)
102new FieldTelemetryFilter
DashboardUrlsTests.cs (4)
43new FieldTelemetryFilter { Condition = FilterCondition.Contains, Field = "test", Value = "value" } 54new FieldTelemetryFilter { Condition = FilterCondition.Contains, Field = "test", Value = "value" }, 55new FieldTelemetryFilter { Condition = FilterCondition.GreaterThan, Field = "fieldWithSpacedValue", Value = "!! multiple words here !!", Enabled = false }, 56new FieldTelemetryFilter { Condition = FilterCondition.NotEqual, Field = "name", Value = "nameValue" },
Model\StructuredLogsPageViewModelTests.cs (4)
140var fieldFilter = new FieldTelemetryFilter 160var fieldFilter = new FieldTelemetryFilter 180var fieldFilter = new FieldTelemetryFilter 201var fieldFilter = new FieldTelemetryFilter
TelemetryFilterFormatterTests.cs (4)
21new FieldTelemetryFilter 47new FieldTelemetryFilter 67new FieldTelemetryFilter 87new FieldTelemetryFilter
TelemetryRepositoryTests\LogTests.cs (9)
259new FieldTelemetryFilter 1067Filters = [new FieldTelemetryFilter { Condition = FilterCondition.Contains, Field = nameof(OtlpLogEntry.Message), Value = "does_not_contain" }] 1075Filters = [new FieldTelemetryFilter { Condition = FilterCondition.Contains, Field = nameof(OtlpLogEntry.Message), Value = "MESSAGE" }] 1112Filters = [new FieldTelemetryFilter { Condition = FilterCondition.Contains, Field = nameof(OtlpLogEntry.Message), Value = fragment }] 1154Filters = [new FieldTelemetryFilter { Condition = FilterCondition.Contains, Field = KnownStructuredLogFields.EventNameField, Value = "does_not_contain" }] 1162Filters = [new FieldTelemetryFilter { Condition = FilterCondition.Contains, Field = KnownStructuredLogFields.EventNameField, Value = "MyEvent" }] 1795new FieldTelemetryFilter 1802new FieldTelemetryFilter 1872new FieldTelemetryFilter
TelemetryRepositoryTests\TelemetryRepositoryTests.cs (6)
947new FieldTelemetryFilter 1039new FieldTelemetryFilter 1218new FieldTelemetryFilter 1225new FieldTelemetryFilter 1316new FieldTelemetryFilter 1323new FieldTelemetryFilter
TelemetryRepositoryTests\TraceTests.cs (27)
166new FieldTelemetryFilter 1708new FieldTelemetryFilter { Field = "key1", Condition = FilterCondition.Equals, Value = "value1" } 1726new FieldTelemetryFilter { Field = "key2", Condition = FilterCondition.Equals, Value = "value2" } 1744new FieldTelemetryFilter { Field = "key1", Condition = FilterCondition.Equals, Value = "value1" }, 1745new FieldTelemetryFilter { Field = "key2", Condition = FilterCondition.Equals, Value = "value2" } 1797new FieldTelemetryFilter { Field = name, Condition = FilterCondition.NotEqual, Value = value } 1812new FieldTelemetryFilter { Field = name, Condition = FilterCondition.Equals, Value = value } 1867new FieldTelemetryFilter { Field = "dynamic.filter", Condition = FilterCondition.Equals, Value = "match" }, 1868new FieldTelemetryFilter { Field = KnownTraceFields.DurationField, Condition = FilterCondition.GreaterThanOrEqual, Value = "20" } 1924Filters = [new FieldTelemetryFilter { Field = KnownTraceFields.DurationField, Condition = FilterCondition.GreaterThan, Value = "50" }] 1936Filters = [new FieldTelemetryFilter { Field = KnownTraceFields.DurationField, Condition = FilterCondition.LessThan, Value = "10" }] 1974new FieldTelemetryFilter { Field = "key1", Condition = FilterCondition.NotEqual, Value = "other_value" } 3463new FieldTelemetryFilter 3581new FieldTelemetryFilter 3630new FieldTelemetryFilter 3820new FieldTelemetryFilter 4066new FieldTelemetryFilter 4073new FieldTelemetryFilter 4129new FieldTelemetryFilter 4179new FieldTelemetryFilter 4230new FieldTelemetryFilter 4316new FieldTelemetryFilter { Field = "env", Condition = FilterCondition.Contains, Value = "prod" }, 4317new FieldTelemetryFilter { Field = KnownTraceFields.NameField, Condition = FilterCondition.NotContains, Value = "1-1" } 4371new FieldTelemetryFilter 4424new FieldTelemetryFilter 4479new FieldTelemetryFilter 4553new FieldTelemetryFilter
81 references to FieldTelemetryFilter
Aspire.Dashboard (67)
Api\TelemetryApiService.cs (2)
378/// Converts search qualifiers into <see cref="FieldTelemetryFilter"/> objects for log filtering. 419/// Converts search qualifiers into <see cref="FieldTelemetryFilter"/> objects for span/trace filtering.
Components\Controls\ApplicationSummary.razor.cs (2)
43private static readonly FieldTelemetryFilter s_failedTraceFilter = new() { Field = KnownTraceFields.StatusField, Condition = FilterCondition.Equals, Value = nameof(OtlpSpanStatusCode.Error) }; 511private static FieldTelemetryFilter CreateLogTimeFilter(FilterCondition condition, DateTime time) => new()
Components\Controls\ResourcePaneInsights.razor.cs (1)
66List<FieldTelemetryFilter> filters =
Components\Dialogs\FilterDialog.razor.cs (4)
28new SelectViewModel<FilterCondition> { Id = condition, Name = FieldTelemetryFilter.ConditionToString(condition, FilterLoc) }; 148var knownFields = Content.KnownKeys.Select(p => new SelectViewModel<string> { Id = p, Name = FieldTelemetryFilter.ResolveFieldName(p) }).ToList(); 153.Select(propertyKey => new SelectViewModel<string> { Id = propertyKey, Name = FieldTelemetryFilter.ResolveFieldName(propertyKey) }) 168var fieldType = _formModel.Parameter?.Id is { } parameterName ? FieldTelemetryFilter.GetFieldType(parameterName) : FieldType.String;
Components\Legacy\Pages\StructuredLogs.razor.cs (6)
324private async Task OpenFilterAsync(FieldTelemetryFilter? entry) 344if (result.Value is FilterDialogResult filterResult && filterResult.Filter is FieldTelemetryFilter filter) 377internal async Task ClearSelectedLogEntryIfExcludedAsync(string textFilter, IReadOnlyList<FieldTelemetryFilter> fieldFilters) 500foreach (var filter in filters) 573IReadOnlyList<FieldTelemetryFilter> fieldFilters, 599public required IReadOnlyCollection<FieldTelemetryFilter> Filters { get; set; }
Components\Legacy\Pages\TraceDetail.razor.cs (3)
579private async Task OpenFilterAsync(FieldTelemetryFilter? entry) 598if (result.Value is FilterDialogResult filterResult && filterResult.Filter is FieldTelemetryFilter filter) 768public List<FieldTelemetryFilter> Filters { get; } = [];
Components\Legacy\Pages\Traces.razor.cs (4)
303foreach (var filter in filters) 333private async Task OpenFilterAsync(FieldTelemetryFilter? entry) 353if (result.Value is FilterDialogResult filterResult && filterResult.Filter is FieldTelemetryFilter filter) 436public required IReadOnlyCollection<FieldTelemetryFilter> Filters { get; set; }
Components\Pages\StructuredLogs.razor.cs (6)
367private async Task OpenFilterAsync(FieldTelemetryFilter? entry) 387if (result.Value is FilterDialogResult filterResult && filterResult.Filter is FieldTelemetryFilter filter) 420internal async Task ClearSelectedLogEntryIfExcludedAsync(string textFilter, IReadOnlyList<FieldTelemetryFilter> fieldFilters) 550foreach (var filter in filters) 627IReadOnlyList<FieldTelemetryFilter> fieldFilters, 653public required IReadOnlyCollection<FieldTelemetryFilter> Filters { get; set; }
Components\Pages\TraceDetail.razor.cs (3)
605private async Task OpenFilterAsync(FieldTelemetryFilter? entry) 624if (result.Value is FilterDialogResult filterResult && filterResult.Filter is FieldTelemetryFilter filter) 794public List<FieldTelemetryFilter> Filters { get; } = [];
Components\Pages\Traces.razor.cs (4)
319foreach (var filter in filters) 353private async Task OpenFilterAsync(FieldTelemetryFilter? entry) 373if (result.Value is FilterDialogResult filterResult && filterResult.Filter is FieldTelemetryFilter filter) 460public required IReadOnlyCollection<FieldTelemetryFilter> Filters { get; set; }
Extensions\TelemetryFilterFormatter.cs (4)
13private static string SerializeFilterToString(FieldTelemetryFilter filter) 37public static string SerializeFiltersToString(IEnumerable<FieldTelemetryFilter> filters) 83public static List<FieldTelemetryFilter> DeserializeFiltersFromString(string filtersString) 89.Cast<FieldTelemetryFilter>()
Model\FilterDialogViewModel.cs (1)
10public required FieldTelemetryFilter? Filter { get; init; }
Model\Otlp\DialogFilterResult.cs (1)
8public FieldTelemetryFilter? Filter { get; set; }
Model\Otlp\TelemetryFilter.cs (2)
92var otherFilter = other as FieldTelemetryFilter;
Model\StructuredLogsViewModel.cs (6)
14private readonly List<FieldTelemetryFilter> _filters = new(); 51public IReadOnlyList<FieldTelemetryFilter> Filters => _filters; 59public void AddFilter(FieldTelemetryFilter filter) 62foreach (var existingFilter in _filters) 74public bool RemoveFilter(FieldTelemetryFilter filter) 133internal static List<TelemetryFilter> BuildFilters(IReadOnlyList<FieldTelemetryFilter> fieldFilters, string? filterText, LogLevel? logLevel)
Model\TracesViewModel.cs (5)
13private readonly List<FieldTelemetryFilter> _filters = new(); 53public IReadOnlyList<FieldTelemetryFilter> Filters => _filters; 61public void AddFilter(FieldTelemetryFilter filter) 64foreach (var existingFilter in _filters) 76public bool RemoveFilter(FieldTelemetryFilter filter)
Otlp\Storage\SqliteTelemetryRepository.Logs.cs (2)
525if (filter is not FieldTelemetryFilter fieldFilter) 577private static string BuildLogFilterPredicate(FieldTelemetryFilter filter, DynamicParameters parameters, int index)
Otlp\Storage\SqliteTelemetryRepository.Traces.Reads.cs (5)
221if (filter is not FieldTelemetryFilter fieldFilter) 319private static string BuildTraceDurationPredicate(FieldTelemetryFilter filter, DynamicParameters parameters, int filterIndex) 332FieldTelemetryFilter filter, 579if (filter is not FieldTelemetryFilter fieldFilter) 602var violationFilter = new FieldTelemetryFilter
Utils\FilterHelpers.cs (6)
23IReadOnlyList<FieldTelemetryFilter> filters, 25Func<FieldTelemetryFilter?, Task> openFilterAsync, 32foreach (var filter in filters) 56foreach (var filter in filters) 73foreach (var filter in filters) 98FieldTelemetryFilter? entry,
Aspire.Dashboard.Components.Tests (5)
Dialogs\FilterDialogTests.cs (1)
599private static FilterDialogViewModel CreateContent(FieldTelemetryFilter filter)
Pages\StructuredLogsTests.cs (4)
155var filter = new FieldTelemetryFilter { Field = "TestField", Condition = FilterCondition.Contains, Value = "TestValue" }; 191var filter1 = new FieldTelemetryFilter { Field = "Test:Field", Condition = FilterCondition.Contains, Value = "Test Value" }; 192var filter2 = new FieldTelemetryFilter { Field = "Test!@#", Condition = FilterCondition.Contains, Value = "http://localhost#fragment?hi=true" }; 193var filter3 = new FieldTelemetryFilter { Field = "\u2764\uFE0F", Condition = FilterCondition.Contains, Value = "\u4F60" };
Aspire.Dashboard.Tests (9)
DashboardJsonSerializerContextTests.cs (1)
121var filter = Assert.Single(result.Filters);
Model\StructuredLogsPageViewModelTests.cs (4)
140var fieldFilter = new FieldTelemetryFilter 160var fieldFilter = new FieldTelemetryFilter 180var fieldFilter = new FieldTelemetryFilter 201var fieldFilter = new FieldTelemetryFilter
TelemetryFilterFormatterTests.cs (4)
31var filter = Assert.Single(filters); 57var filter = Assert.Single(filters); 77var filter = Assert.Single(filters); 98var filter = Assert.Single(filters);