223 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)
191
Field = KnownStructuredLogFields.TraceIdField, Condition =
FilterCondition
.Equals, Value = TraceId
198
Field = KnownStructuredLogFields.SpanIdField, Condition =
FilterCondition
.Equals, Value = SpanId
Components\Pages\TraceDetail.razor.cs (1)
312
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)
189
new FieldTelemetryFilter { Field = KnownStructuredLogFields.TraceIdField, Condition =
FilterCondition
.Equals, Value = traceId },
190
new FieldTelemetryFilter { Field = KnownStructuredLogFields.SpanIdField, Condition =
FilterCondition
.Equals, Value = spanId }
204
new FieldTelemetryFilter { Field = KnownStructuredLogFields.TraceIdField, Condition =
FilterCondition
.Equals, Value = traceId }
Otlp\Storage\SqliteTelemetryRepository.Logs.cs (20)
604
filter.Condition is
FilterCondition
.Contains or
FilterCondition
.NotContains
642
private static string BuildStringPredicate(string expression,
FilterCondition
condition, string parameterName)
646
FilterCondition
.Equals => $"{expression} = @{parameterName} COLLATE NOCASE",
647
FilterCondition
.Contains => $"{expression} LIKE @{parameterName} ESCAPE '!'",
648
FilterCondition
.GreaterThan or
FilterCondition
.LessThan or
FilterCondition
.GreaterThanOrEqual or
FilterCondition
.LessThanOrEqual => "0 = 1",
649
FilterCondition
.NotEqual => $"{expression} <> @{parameterName} COLLATE NOCASE",
650
FilterCondition
.NotContains => $"{expression} NOT LIKE @{parameterName} ESCAPE '!'",
655
private static string BuildNumericPredicate(string expression,
FilterCondition
condition, string parameterName)
659
FilterCondition
.Equals => "=",
660
FilterCondition
.GreaterThan => ">",
661
FilterCondition
.LessThan => "<",
662
FilterCondition
.GreaterThanOrEqual => ">=",
663
FilterCondition
.LessThanOrEqual => "<=",
664
FilterCondition
.NotEqual => "<>",
665
FilterCondition
.Contains or
FilterCondition
.NotContains => null,
Otlp\Storage\SqliteTelemetryRepository.Traces.Reads.cs (16)
231
if (fieldFilter.Condition is
FilterCondition
.NotEqual or
FilterCondition
.NotContains)
336
var
condition = invertNegative
339
FilterCondition
.NotEqual =>
FilterCondition
.Equals,
340
FilterCondition
.NotContains =>
FilterCondition
.Contains,
346
condition is
FilterCondition
.Contains or
FilterCondition
.NotContains
379
if (condition is
FilterCondition
.NotEqual or
FilterCondition
.NotContains)
506
if (fieldFilter.Condition is
FilterCondition
.NotEqual or
FilterCondition
.NotContains &&
512
Condition = fieldFilter.Condition ==
FilterCondition
.NotEqual ?
FilterCondition
.Equals :
FilterCondition
.Contains,
Aspire.Dashboard.Components.Tests (39)
Dialogs\FilterDialogTests.cs (32)
30
Condition =
FilterCondition
.Contains,
49
Condition =
FilterCondition
.GreaterThanOrEqual,
57
var conditionSelect = Assert.Single(cut.FindComponents<FluentSelect<SelectViewModel<
FilterCondition
>, SelectViewModel<
FilterCondition
>>>());
59
item => Assert.Equal(
FilterCondition
.Equals, item.Id),
60
item => Assert.Equal(
FilterCondition
.NotEqual, item.Id),
61
item => Assert.Equal(
FilterCondition
.GreaterThanOrEqual, item.Id),
62
item => Assert.Equal(
FilterCondition
.GreaterThan, item.Id),
63
item => Assert.Equal(
FilterCondition
.LessThanOrEqual, item.Id),
64
item => Assert.Equal(
FilterCondition
.LessThan, item.Id));
79
Condition =
FilterCondition
.GreaterThanOrEqual,
97
Condition =
FilterCondition
.Contains,
115
var conditionSelect = Assert.Single(cut.FindComponents<FluentSelect<SelectViewModel<
FilterCondition
>, SelectViewModel<
FilterCondition
>>>());
118
item => Assert.Equal(
FilterCondition
.Equals, item.Id),
119
item => Assert.Equal(
FilterCondition
.Contains, item.Id),
120
item => Assert.Equal(
FilterCondition
.NotEqual, item.Id),
121
item => Assert.Equal(
FilterCondition
.NotContains, item.Id));
133
Condition =
FilterCondition
.Contains,
161
Condition =
FilterCondition
.Contains,
203
Condition =
FilterCondition
.Contains,
247
Condition =
FilterCondition
.Contains,
284
Condition =
FilterCondition
.Contains,
338
Condition =
FilterCondition
.Contains,
377
Condition =
FilterCondition
.Contains,
415
Condition =
FilterCondition
.Contains,
454
Condition =
FilterCondition
.Contains,
480
Condition =
FilterCondition
.Contains,
505
Condition =
FilterCondition
.GreaterThanOrEqual,
528
Condition =
FilterCondition
.GreaterThanOrEqual,
549
Condition =
FilterCondition
.Contains,
573
Condition =
FilterCondition
.Contains,
Pages\StructuredLogsTests.cs (4)
128
var filter = new FieldTelemetryFilter { Field = "TestField", Condition =
FilterCondition
.Contains, Value = "TestValue" };
164
var filter1 = new FieldTelemetryFilter { Field = "Test:Field", Condition =
FilterCondition
.Contains, Value = "Test Value" };
165
var filter2 = new FieldTelemetryFilter { Field = "Test!@#", Condition =
FilterCondition
.Contains, Value = "http://localhost#fragment?hi=true" };
166
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 (65)
DashboardJsonSerializerContextTests.cs (2)
83
Condition =
FilterCondition
.Contains,
101
Assert.Equal(
FilterCondition
.Contains, filter.Condition);
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,