private SampleBuilder parseAgentData(ZabbixRequest.AgentData data) {
            String keyName = data.getKey();
            SampleBuilder.SampleBuilderBuilder builder = SampleBuilder.builder();

            if (keyName.contains("[") && keyName.endsWith("]")) {
                String key = StringUtils.substringBefore(keyName, "[");

                // Split params, support quote mode, label name start at 1
                StringTokenizer tokenizer = new StringTokenizer(
                    StringUtils.substringAfter(keyName.substring(0, keyName.length() - 1), "["), ',', '\"');
                tokenizer.setIgnoreEmptyTokens(false);
                int inx = 1;
                ImmutableMap.Builder<String, String> paramBuilder = ImmutableMap.builder();
                while (tokenizer.hasNext()) {
                    paramBuilder.put(String.valueOf(inx++), tokenizer.next());
                }

                builder.name(key).labels(paramBuilder.build());
            } else {
                builder.name(keyName).labels(ImmutableMap.of());
            }

            return builder.hostName(data.getHost())
                .timestamp(TimeUnit.SECONDS.toMillis(data.getClock()))
                .value(Double.parseDouble(data.getValue()))
                .build();
        }
Parsing Zabbix agent data to sample builder
oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixMetrics.java