mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
[starter] Don't use linked set since we don't need order
The change saves about 400Mb on 2Gb JSON in heap GitOrigin-RevId: 0a4c1831b1a8f163e3e12616e835baaa5d38249e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c4fed1b70a
commit
b70d71eda2
@@ -5,7 +5,7 @@ package com.intellij.tools.ide.metrics.collector.telemetry
|
|||||||
import com.intellij.tools.ide.util.common.PrintFailuresMode
|
import com.intellij.tools.ide.util.common.PrintFailuresMode
|
||||||
import com.intellij.tools.ide.util.common.withRetryBlocking
|
import com.intellij.tools.ide.util.common.withRetryBlocking
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectFunction
|
import it.unimi.dsi.fastutil.objects.Object2ObjectFunction
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap
|
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap
|
||||||
import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet
|
import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet
|
||||||
import kotlinx.serialization.KSerializer
|
import kotlinx.serialization.KSerializer
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -133,12 +133,12 @@ open class OpentelemetrySpanJsonParser(private val spanFilter: SpanFilter) {
|
|||||||
return jsonData
|
return jsonData
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getParentToSpanMap(spans: List<SpanData>): Object2ObjectLinkedOpenHashMap<String, MutableSet<SpanData>> {
|
private fun getParentToSpanMap(spans: List<SpanData>): Object2ObjectOpenHashMap<String, ArrayList<SpanData>> {
|
||||||
val indexParentToChild = Object2ObjectLinkedOpenHashMap<String, MutableSet<SpanData>>()
|
val indexParentToChild = Object2ObjectOpenHashMap<String, ArrayList<SpanData>>()
|
||||||
for (span in spans) {
|
for (span in spans) {
|
||||||
val parentSpanId = span.getParentSpanId()
|
val parentSpanId = span.getParentSpanId()
|
||||||
if (parentSpanId != null) {
|
if (parentSpanId != null) {
|
||||||
indexParentToChild.computeIfAbsent(parentSpanId, Object2ObjectFunction { ObjectLinkedOpenHashSet() }).add(span)
|
indexParentToChild.computeIfAbsent(parentSpanId, Object2ObjectFunction { ArrayList(5) }).add(span)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return indexParentToChild
|
return indexParentToChild
|
||||||
|
|||||||
Reference in New Issue
Block a user