RedisSpanCustomizer.java 671 Bytes
package com.infoloop.tianting.tracing;

import brave.Span;
import com.infoloop.tianting.constant.ConfigConstants;
import io.lettuce.core.protocol.RedisCommand;

import java.util.function.BiConsumer;

public final class RedisSpanCustomizer implements BiConsumer<RedisCommand<Object, Object, Object>, Span> {
    @Override
    public void accept(final RedisCommand<Object, Object, Object> command, final Span span) {
        span.customizer().tag("cmd", command.getType().name());
        if ("true".equals(ConfigConstants.BRAVE_PROPAGATION_DEBUG_FIELD.getValue(span.context()))) {
            span.customizer().tag("args", command.getArgs().toString());
        }
    }
}