mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-13 15:52:01 +07:00
[starter] Fix naming of SpanFilter to make it more clear and add a new filter
GitOrigin-RevId: 35c7627da1ceb34a088d29ef85e2e8cab2460f14
This commit is contained in:
committed by
intellij-monorepo-bot
parent
d41f745ce8
commit
7239413e00
@@ -19,14 +19,23 @@ class SpanFilter internal constructor(
|
|||||||
return SpanFilter(filter = { spanData -> spanData.name == name }, rawFilter = { it.operationName == name })
|
return SpanFilter(filter = { spanData -> spanData.name == name }, rawFilter = { it.operationName == name })
|
||||||
}
|
}
|
||||||
|
|
||||||
fun containsNameIn(names: List<String>): SpanFilter {
|
fun nameInList(names: List<String>): SpanFilter {
|
||||||
return SpanFilter(filter = { names.contains(it.name) }, rawFilter = { names.contains(it.operationName) })
|
return SpanFilter(filter = { names.contains(it.name) }, rawFilter = { names.contains(it.operationName) })
|
||||||
}
|
}
|
||||||
|
|
||||||
fun containsNameIn(vararg names: String): SpanFilter {
|
fun nameInList(vararg names: String): SpanFilter {
|
||||||
return SpanFilter(filter = { names.contains(it.name) }, rawFilter = { names.contains(it.operationName) })
|
return nameInList(names.toList())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun nameContainsAny(names: List<String>): SpanFilter {
|
||||||
|
return SpanFilter(filter = { span -> names.any { span.name.contains(it) } }, rawFilter = { span -> names.any { span.operationName.contains(it) } })
|
||||||
|
}
|
||||||
|
|
||||||
|
fun nameContainsAny(vararg names: String): SpanFilter {
|
||||||
|
return nameContainsAny(names.toList())
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
fun nameContains(substring: String): SpanFilter {
|
fun nameContains(substring: String): SpanFilter {
|
||||||
return SpanFilter(filter = { it.name.contains(substring) }, rawFilter = { it.operationName.contains(substring) })
|
return SpanFilter(filter = { it.name.contains(substring) }, rawFilter = { it.operationName.contains(substring) })
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ private val logger = logger<OpentelemetrySpanJsonParser>()
|
|||||||
*/
|
*/
|
||||||
fun getMetricsBasedOnDiffBetweenSpans(name: String, file: Path, fromSpanName: String, toSpanName: String): List<Metric> {
|
fun getMetricsBasedOnDiffBetweenSpans(name: String, file: Path, fromSpanName: String, toSpanName: String): List<Metric> {
|
||||||
val betweenSpanProcessor = SpanInfoProcessor()
|
val betweenSpanProcessor = SpanInfoProcessor()
|
||||||
val spanElements = OpentelemetrySpanJsonParser(SpanFilter.containsNameIn(listOf(fromSpanName, toSpanName))).getSpanElements(file)
|
val spanElements = OpentelemetrySpanJsonParser(SpanFilter.nameInList(listOf(fromSpanName, toSpanName))).getSpanElements(file)
|
||||||
val spanToMetricMap = spanElements
|
val spanToMetricMap = spanElements
|
||||||
.mapNotNull { betweenSpanProcessor.process(it) }
|
.mapNotNull { betweenSpanProcessor.process(it) }
|
||||||
.groupBy { it.name }
|
.groupBy { it.name }
|
||||||
@@ -78,7 +78,7 @@ fun getStartupTimestampMs(file: Path): Long {
|
|||||||
fun getMetricsForStartup(file: Path): List<Metric> {
|
fun getMetricsForStartup(file: Path): List<Metric> {
|
||||||
val spansToPublish = listOf("bootstrap", "startApplication", "ProjectImpl container")
|
val spansToPublish = listOf("bootstrap", "startApplication", "ProjectImpl container")
|
||||||
val spansSuffixesToIgnore = listOf(": scheduled", ": completing")
|
val spansSuffixesToIgnore = listOf(": scheduled", ": completing")
|
||||||
val filter = SpanFilter.containsNameIn(spansToPublish)
|
val filter = SpanFilter.nameInList(spansToPublish)
|
||||||
val childFilter = SpanFilter(
|
val childFilter = SpanFilter(
|
||||||
filter = { span -> spansSuffixesToIgnore.none { span.name.endsWith(it) } },
|
filter = { span -> spansSuffixesToIgnore.none { span.name.endsWith(it) } },
|
||||||
rawFilter = { span -> spansSuffixesToIgnore.none { span.operationName.endsWith(it) } },
|
rawFilter = { span -> spansSuffixesToIgnore.none { span.operationName.endsWith(it) } },
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ class OpenTelemetrySpanExtractionTest {
|
|||||||
OpenTelemetrySpanCollector(SpanFilter.nameEquals(spanName)).collect(file)
|
OpenTelemetrySpanCollector(SpanFilter.nameEquals(spanName)).collect(file)
|
||||||
}.flatten()
|
}.flatten()
|
||||||
|
|
||||||
val result = OpenTelemetrySpanCollector(SpanFilter.containsNameIn(spanNames))
|
val result = OpenTelemetrySpanCollector(SpanFilter.nameInList(spanNames))
|
||||||
.collect(file)
|
.collect(file)
|
||||||
|
|
||||||
result.shouldContainExactlyInAnyOrder(expected)
|
result.shouldContainExactlyInAnyOrder(expected)
|
||||||
|
|||||||
Reference in New Issue
Block a user