219 references to FilterCondition
Aspire.Dashboard (119)
Api\TelemetryApiService.cs (19)
101
Condition = hasError.Value ?
FilterCondition
.Equals :
FilterCondition
.NotEqual
186
Condition =
FilterCondition
.Contains
200
Condition =
FilterCondition
.GreaterThanOrEqual
298
Condition =
FilterCondition
.Contains
311
Condition =
FilterCondition
.GreaterThanOrEqual
494
/// Maps a <see cref="ComparisonOperator"/> to the corresponding <see cref="
FilterCondition
"/>,
497
private static
FilterCondition
ToFilterCondition(ComparisonOperator op, bool negated) => (op, negated) switch
499
(ComparisonOperator.Contains, false) =>
FilterCondition
.Contains,
500
(ComparisonOperator.Contains, true) =>
FilterCondition
.NotContains,
501
(ComparisonOperator.GreaterThan, false) =>
FilterCondition
.GreaterThan,
502
(ComparisonOperator.GreaterThan, true) =>
FilterCondition
.LessThanOrEqual,
503
(ComparisonOperator.GreaterThanOrEqual, false) =>
FilterCondition
.GreaterThanOrEqual,
504
(ComparisonOperator.GreaterThanOrEqual, true) =>
FilterCondition
.LessThan,
505
(ComparisonOperator.LessThan, false) =>
FilterCondition
.LessThan,
506
(ComparisonOperator.LessThan, true) =>
FilterCondition
.GreaterThanOrEqual,
507
(ComparisonOperator.LessThanOrEqual, false) =>
FilterCondition
.LessThanOrEqual,
508
(ComparisonOperator.LessThanOrEqual, true) =>
FilterCondition
.GreaterThan,
509
_ =>
FilterCondition
.Contains
Components\Dialogs\FilterDialog.razor.cs (27)
22
private List<SelectViewModel<
FilterCondition
>> _filterConditions = null!;
23
private List<SelectViewModel<
FilterCondition
>> _stringFilterConditions = null!;
24
private List<SelectViewModel<
FilterCondition
>> _numericFilterConditions = null!;
25
private List<SelectViewModel<
FilterCondition
>> _dateFilterConditions = null!;
27
private SelectViewModel<
FilterCondition
> CreateFilterSelectViewModel(
FilterCondition
condition) =>
28
new SelectViewModel<
FilterCondition
> { Id = condition, Name = FieldTelemetryFilter.ConditionToString(condition, FilterLoc) };
63
CreateFilterSelectViewModel(
FilterCondition
.Equals),
64
CreateFilterSelectViewModel(
FilterCondition
.Contains),
65
CreateFilterSelectViewModel(
FilterCondition
.NotEqual),
66
CreateFilterSelectViewModel(
FilterCondition
.NotContains)
71
CreateFilterSelectViewModel(
FilterCondition
.Equals),
72
CreateFilterSelectViewModel(
FilterCondition
.NotEqual),
73
CreateFilterSelectViewModel(
FilterCondition
.GreaterThanOrEqual),
74
CreateFilterSelectViewModel(
FilterCondition
.GreaterThan),
75
CreateFilterSelectViewModel(
FilterCondition
.LessThanOrEqual),
76
CreateFilterSelectViewModel(
FilterCondition
.LessThan)
81
CreateFilterSelectViewModel(
FilterCondition
.GreaterThanOrEqual),
82
CreateFilterSelectViewModel(
FilterCondition
.GreaterThan),
83
CreateFilterSelectViewModel(
FilterCondition
.LessThanOrEqual),
84
CreateFilterSelectViewModel(
FilterCondition
.LessThan),
85
CreateFilterSelectViewModel(
FilterCondition
.Equals),
86
CreateFilterSelectViewModel(
FilterCondition
.NotEqual)
179
private SelectViewModel<
FilterCondition
> GetDefaultCondition()
181
var
condition = (_formModel.ValueIsNumeric || _formModel.ValueIsDate) ?
FilterCondition
.GreaterThanOrEqual :
FilterCondition
.Contains;
Components\Pages\StructuredLogs.razor.cs (2)
185
Field = KnownStructuredLogFields.TraceIdField, Condition =
FilterCondition
.Equals, Value = TraceId
192
Field = KnownStructuredLogFields.SpanIdField, Condition =
FilterCondition
.Equals, Value = SpanId
Components\Pages\TraceDetail.razor.cs (1)
294
Condition =
FilterCondition
.Equals,
Extensions\TelemetryFilterFormatter.cs (17)
17
FilterCondition
.Equals => "equals",
18
FilterCondition
.Contains => "contains",
19
FilterCondition
.GreaterThan => "gt",
20
FilterCondition
.LessThan => "lt",
21
FilterCondition
.GreaterThanOrEqual => "gte",
22
FilterCondition
.LessThanOrEqual => "lte",
23
FilterCondition
.NotEqual => "!equals",
24
FilterCondition
.NotContains => "!contains",
52
FilterCondition
? condition = parts[1] switch
54
"equals" =>
FilterCondition
.Equals,
55
"contains" =>
FilterCondition
.Contains,
56
"gt" =>
FilterCondition
.GreaterThan,
57
"lt" =>
FilterCondition
.LessThan,
58
"gte" =>
FilterCondition
.GreaterThanOrEqual,
59
"lte" =>
FilterCondition
.LessThanOrEqual,
60
"!equals" =>
FilterCondition
.NotEqual,
61
"!contains" =>
FilterCondition
.NotContains,
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
608
Condition =
FilterCondition
.Equals,
Model\Otlp\FilterDialogFormModel.cs (1)
16
public SelectViewModel<
FilterCondition
>? Condition { get; set; }
Model\Otlp\TelemetryFilter.cs (10)
23
public
FilterCondition
Condition { get; set; }
76
public static string ConditionToString(
FilterCondition
c, IStringLocalizer<StructuredFiltering>? loc) =>
79
FilterCondition
.Equals => "==",
80
FilterCondition
.Contains => loc?[nameof(StructuredFiltering.ConditionContains)] ?? "contains",
81
FilterCondition
.GreaterThan => ">",
82
FilterCondition
.LessThan => "<",
83
FilterCondition
.GreaterThanOrEqual => ">=",
84
FilterCondition
.LessThanOrEqual => "<=",
85
FilterCondition
.NotEqual => "!=",
86
FilterCondition
.NotContains => loc?[nameof(StructuredFiltering.ConditionNotContains)] ?? "not contains",
Model\StructuredLogsViewModel.cs (2)
112
filters.Add(new FieldTelemetryFilter { Field = nameof(OtlpLogEntry.Message), Condition =
FilterCondition
.Contains, Value = filterText });
117
filters.Add(new FieldTelemetryFilter { Field = nameof(OtlpLogEntry.Severity), Condition =
FilterCondition
.GreaterThanOrEqual, Value = logLevel.Value.ToString() });
Otlp\Storage\SqliteTelemetryRepository.cs (3)
190
new FieldTelemetryFilter { Field = KnownStructuredLogFields.TraceIdField, Condition =
FilterCondition
.Equals, Value = traceId },
191
new FieldTelemetryFilter { Field = KnownStructuredLogFields.SpanIdField, Condition =
FilterCondition
.Equals, Value = spanId }
205
new FieldTelemetryFilter { Field = KnownStructuredLogFields.TraceIdField, Condition =
FilterCondition
.Equals, Value = traceId }
Otlp\Storage\SqliteTelemetryRepository.Logs.cs (20)
607
filter.Condition is
FilterCondition
.Contains or
FilterCondition
.NotContains
645
private static string BuildStringPredicate(string expression,
FilterCondition
condition, string parameterName)
649
FilterCondition
.Equals => $"{expression} = @{parameterName} COLLATE NOCASE",
650
FilterCondition
.Contains => $"{expression} LIKE @{parameterName} ESCAPE '!'",
651
FilterCondition
.GreaterThan or
FilterCondition
.LessThan or
FilterCondition
.GreaterThanOrEqual or
FilterCondition
.LessThanOrEqual => "0 = 1",
652
FilterCondition
.NotEqual => $"{expression} <> @{parameterName} COLLATE NOCASE",
653
FilterCondition
.NotContains => $"{expression} NOT LIKE @{parameterName} ESCAPE '!'",
658
private static string BuildNumericPredicate(string expression,
FilterCondition
condition, string parameterName)
662
FilterCondition
.Equals => "=",
663
FilterCondition
.GreaterThan => ">",
664
FilterCondition
.LessThan => "<",
665
FilterCondition
.GreaterThanOrEqual => ">=",
666
FilterCondition
.LessThanOrEqual => "<=",
667
FilterCondition
.NotEqual => "<>",
668
FilterCondition
.Contains or
FilterCondition
.NotContains => null,
Otlp\Storage\SqliteTelemetryRepository.Traces.Reads.cs (16)
228
if (fieldFilter.Condition is
FilterCondition
.NotEqual or
FilterCondition
.NotContains)
333
var
condition = invertNegative
336
FilterCondition
.NotEqual =>
FilterCondition
.Equals,
337
FilterCondition
.NotContains =>
FilterCondition
.Contains,
343
condition is
FilterCondition
.Contains or
FilterCondition
.NotContains
376
if (condition is
FilterCondition
.NotEqual or
FilterCondition
.NotContains)
503
if (fieldFilter.Condition is
FilterCondition
.NotEqual or
FilterCondition
.NotContains &&
509
Condition = fieldFilter.Condition ==
FilterCondition
.NotEqual ?
FilterCondition
.Equals :
FilterCondition
.Contains,
Aspire.Dashboard.Components.Tests (37)
Dialogs\FilterDialogTests.cs (30)
28
Condition =
FilterCondition
.GreaterThanOrEqual,
36
var conditionSelect = Assert.Single(cut.FindComponents<FluentSelect<SelectViewModel<
FilterCondition
>, SelectViewModel<
FilterCondition
>>>());
38
item => Assert.Equal(
FilterCondition
.Equals, item.Id),
39
item => Assert.Equal(
FilterCondition
.NotEqual, item.Id),
40
item => Assert.Equal(
FilterCondition
.GreaterThanOrEqual, item.Id),
41
item => Assert.Equal(
FilterCondition
.GreaterThan, item.Id),
42
item => Assert.Equal(
FilterCondition
.LessThanOrEqual, item.Id),
43
item => Assert.Equal(
FilterCondition
.LessThan, item.Id));
58
Condition =
FilterCondition
.GreaterThanOrEqual,
76
Condition =
FilterCondition
.Contains,
94
var conditionSelect = Assert.Single(cut.FindComponents<FluentSelect<SelectViewModel<
FilterCondition
>, SelectViewModel<
FilterCondition
>>>());
97
item => Assert.Equal(
FilterCondition
.Equals, item.Id),
98
item => Assert.Equal(
FilterCondition
.Contains, item.Id),
99
item => Assert.Equal(
FilterCondition
.NotEqual, item.Id),
100
item => Assert.Equal(
FilterCondition
.NotContains, item.Id));
112
Condition =
FilterCondition
.Contains,
154
Condition =
FilterCondition
.Contains,
198
Condition =
FilterCondition
.Contains,
235
Condition =
FilterCondition
.Contains,
289
Condition =
FilterCondition
.Contains,
328
Condition =
FilterCondition
.Contains,
366
Condition =
FilterCondition
.Contains,
405
Condition =
FilterCondition
.Contains,
431
Condition =
FilterCondition
.Contains,
456
Condition =
FilterCondition
.GreaterThanOrEqual,
479
Condition =
FilterCondition
.GreaterThanOrEqual,
500
Condition =
FilterCondition
.Contains,
524
Condition =
FilterCondition
.Contains,
Pages\StructuredLogsTests.cs (4)
127
var filter = new FieldTelemetryFilter { Field = "TestField", Condition =
FilterCondition
.Contains, Value = "TestValue" };
163
var filter1 = new FieldTelemetryFilter { Field = "Test:Field", Condition =
FilterCondition
.Contains, Value = "Test Value" };
164
var filter2 = new FieldTelemetryFilter { Field = "Test!@#", Condition =
FilterCondition
.Contains, Value = "http://localhost#fragment?hi=true" };
165
var filter3 = new FieldTelemetryFilter { Field = "\u2764\uFE0F", Condition =
FilterCondition
.Contains, Value = "\u4F60" };
Pages\TraceDetailsTests.cs (3)
606
Condition =
FilterCondition
.GreaterThanOrEqual,
633
Condition =
FilterCondition
.GreaterThanOrEqual,
730
Condition =
FilterCondition
.GreaterThanOrEqual,
Aspire.Dashboard.Tests (63)
DashboardUrlsTests.cs (4)
35
new FieldTelemetryFilter { Condition =
FilterCondition
.Contains, Field = "test", Value = "value" }
46
new FieldTelemetryFilter { Condition =
FilterCondition
.Contains, Field = "test", Value = "value" },
47
new FieldTelemetryFilter { Condition =
FilterCondition
.GreaterThan, Field = "fieldWithSpacedValue", Value = "!! multiple words here !!", Enabled = false },
48
new FieldTelemetryFilter { Condition =
FilterCondition
.NotEqual, Field = "name", Value = "nameValue" },
Model\StructuredLogsPageViewModelTests.cs (4)
143
Condition =
FilterCondition
.Contains,
163
Condition =
FilterCondition
.Contains,
183
Condition =
FilterCondition
.Contains,
204
Condition =
FilterCondition
.Contains,
TelemetryFilterFormatterTests.cs (5)
24
Condition =
FilterCondition
.GreaterThanOrEqual,
34
Assert.Equal(
FilterCondition
.GreaterThanOrEqual, filter.Condition);
50
Condition =
FilterCondition
.Equals,
70
Condition =
FilterCondition
.Equals,
90
Condition =
FilterCondition
.Equals,
TelemetryRepositoryTests\LogTests.cs (9)
262
Condition =
FilterCondition
.Equals,
1067
Filters = [new FieldTelemetryFilter { Condition =
FilterCondition
.Contains, Field = nameof(OtlpLogEntry.Message), Value = "does_not_contain" }]
1075
Filters = [new FieldTelemetryFilter { Condition =
FilterCondition
.Contains, Field = nameof(OtlpLogEntry.Message), Value = "MESSAGE" }]
1112
Filters = [new FieldTelemetryFilter { Condition =
FilterCondition
.Contains, Field = nameof(OtlpLogEntry.Message), Value = fragment }]
1154
Filters = [new FieldTelemetryFilter { Condition =
FilterCondition
.Contains, Field = KnownStructuredLogFields.EventNameField, Value = "does_not_contain" }]
1162
Filters = [new FieldTelemetryFilter { Condition =
FilterCondition
.Contains, Field = KnownStructuredLogFields.EventNameField, Value = "MyEvent" }]
1799
Condition =
FilterCondition
.Contains,
1806
Condition =
FilterCondition
.Contains,
1875
Condition =
FilterCondition
.Equals,
TelemetryRepositoryTests\TelemetryRepositoryTests.cs (6)
947
Condition =
FilterCondition
.Contains
1038
Condition =
FilterCondition
.GreaterThanOrEqual
1215
Condition =
FilterCondition
.Contains,
1222
Condition =
FilterCondition
.Contains,
1312
Condition =
FilterCondition
.Contains,
1319
Condition =
FilterCondition
.Contains,
TelemetryRepositoryTests\TraceTests.cs (35)
169
Condition =
FilterCondition
.Equals,
1708
new FieldTelemetryFilter { Field = "key1", Condition =
FilterCondition
.Equals, Value = "value1" }
1726
new FieldTelemetryFilter { Field = "key2", Condition =
FilterCondition
.Equals, Value = "value2" }
1744
new FieldTelemetryFilter { Field = "key1", Condition =
FilterCondition
.Equals, Value = "value1" },
1745
new FieldTelemetryFilter { Field = "key2", Condition =
FilterCondition
.Equals, Value = "value2" }
1797
new FieldTelemetryFilter { Field = name, Condition =
FilterCondition
.NotEqual, Value = value }
1812
new FieldTelemetryFilter { Field = name, Condition =
FilterCondition
.Equals, Value = value }
1867
new FieldTelemetryFilter { Field = "dynamic.filter", Condition =
FilterCondition
.Equals, Value = "match" },
1868
new FieldTelemetryFilter { Field = KnownTraceFields.DurationField, Condition =
FilterCondition
.GreaterThanOrEqual, Value = "20" }
1924
Filters = [new FieldTelemetryFilter { Field = KnownTraceFields.DurationField, Condition =
FilterCondition
.GreaterThan, Value = "50" }]
1936
Filters = [new FieldTelemetryFilter { Field = KnownTraceFields.DurationField, Condition =
FilterCondition
.LessThan, Value = "10" }]
1974
new FieldTelemetryFilter { Field = "key1", Condition =
FilterCondition
.NotEqual, Value = "other_value" }
3340
[InlineData(
FilterCondition
.Equals, "1", "3")]
3341
[InlineData(
FilterCondition
.NotEqual, "2")]
3342
public async Task GetTraces_StatusFilter_ReturnsMatchingTraces(
FilterCondition
condition, params string[] expectedTraceIds)
3450
[InlineData(
FilterCondition
.NotEqual, "TestService", 0)]
3451
[InlineData(
FilterCondition
.NotEqual, "TestPeer", 0)]
3452
[InlineData(
FilterCondition
.NotEqual, "other", 1)]
3453
[InlineData(
FilterCondition
.NotContains, "Service", 0)]
3454
[InlineData(
FilterCondition
.NotContains, "Peer", 0)]
3455
[InlineData(
FilterCondition
.NotContains, "other", 1)]
3456
public async Task GetSpans_NegativeServiceNameFilter_AppliesToSourceAndPeer(
FilterCondition
condition, string value, int expectedCount)
3545
Condition =
FilterCondition
.GreaterThanOrEqual,
3735
Condition =
FilterCondition
.Equals,
3982
Condition =
FilterCondition
.Contains,
3989
Condition =
FilterCondition
.Contains,
4044
Condition =
FilterCondition
.NotContains,
4094
Condition =
FilterCondition
.NotContains,
4145
Condition =
FilterCondition
.NotEqual,
4228
new FieldTelemetryFilter { Field = "env", Condition =
FilterCondition
.Contains, Value = "prod" },
4229
new FieldTelemetryFilter { Field = KnownTraceFields.NameField, Condition =
FilterCondition
.NotContains, Value = "1-1" }
4286
Condition =
FilterCondition
.NotContains,
4339
Condition =
FilterCondition
.NotContains,
4394
Condition =
FilterCondition
.NotContains,
4468
Condition =
FilterCondition
.NotEqual,