static EntityMetadata parse()

in src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/MetadataCache.java [73:92]


    static EntityMetadata parse(Measure m) {
        int totalTags = 0;
        final int[] tagFamilyCapacity = new int[m.tagFamilies().size()];
        final Map<String, TagInfo> tagOffset = new HashMap<>();
        int k = 0;
        for (int i = 0; i < m.tagFamilies().size(); i++) {
            final String tagFamilyName = m.tagFamilies().get(i).tagFamilyName();
            tagFamilyCapacity[i] = m.tagFamilies().get(i).tagSpecs().size();
            totalTags += tagFamilyCapacity[i];
            for (int j = 0; j < tagFamilyCapacity[i]; j++) {
                tagOffset.put(m.tagFamilies().get(i).tagSpecs().get(j).getTagName(), new TagInfo(tagFamilyName, k++));
            }
        }
        final Map<String, Integer> fieldOffset = new HashMap<>();
        for (int i = 0; i < m.fields().size(); i++) {
            fieldOffset.put(m.fields().get(i).getName(), i);
        }
        return new EntityMetadata(m.group(), m.name(), totalTags, m.fields().size(), tagFamilyCapacity,
                Collections.unmodifiableMap(tagOffset), Collections.unmodifiableMap(fieldOffset));
    }