in atlas-webapi/src/main/scala/com/netflix/atlas/webapi/PublishPayloads.scala [271:313]
def decodeCompactBatch(
parser: JsonParser,
consumer: PublishConsumer,
intern: Boolean = false
): Unit = {
val strInterner = Interner.forStrings
requireNextToken(parser, JsonToken.START_ARRAY)
val size = nextArraySize(parser)
val table = getOrCreateStringArray(size)
var i = 0
while (i < size) {
val s = nextString(parser)
table(i) = if (intern) strInterner.intern(s) else s
i += 1
}
val numDatapointTuples = nextInt(parser)
i = 0
while (i < numDatapointTuples) {
val idRaw = ItemId(nextString(parser))
val id = if (intern) TaggedItem.internId(idRaw) else idRaw
val numTags = nextArraySize(parser)
val tagsArray = new Array[String](2 * numTags)
var j = 0
while (j < numTags) {
val k = table(nextInt(parser))
val v = table(nextInt(parser))
tagsArray(2 * j) = k
tagsArray(2 * j + 1) = v
j += 1
}
val tagMap = SortedTagMap.createUnsafe(tagsArray, tagsArray.length)
val tags = if (intern) TaggedItem.internTagsShallow(tagMap) else tagMap
val timestamp = nextLong(parser)
val value = getValue(parser)
consumer.consume(id, tags, timestamp, value)
i += 1
}
}