aeron-client/src/main/java/io/aeron/Aeron.java
public Counter addCounter(
        final int typeId,
        final DirectBuffer keyBuffer,
        final int keyOffset,
        final int keyLength,
        final DirectBuffer labelBuffer,
        final int labelOffset,
        final int labelLength)
    {
        return conductor.addCounter(typeId, keyBuffer, keyOffset, keyLength, labelBuffer, labelOffset, labelLength);
    }
public Counter addCounter(
        final int typeId,
        final DirectBuffer keyBuffer,
        final int keyOffset,
        final int keyLength,
        final DirectBuffer labelBuffer,
        final int labelOffset,
        final int labelLength)
    {
        return conductor.addCounter(typeId, keyBuffer, keyOffset, keyLength, labelBuffer, labelOffset, labelLength);
    }
Allocate a counter on the media driver and return a {@link Counter} for it.
<p>
The counter should be freed by calling {@link Counter#close()}.

@param typeId      for the counter.
@param keyBuffer   containing the optional key for the counter.
@param keyOffset   within the keyBuffer at which the key begins.
@param keyLength   of the key in the keyBuffer.
@param labelBuffer containing the mandatory label for the counter. The label should not be length prefixed.
@param labelOffset within the labelBuffer at which the label begins.
@param labelLength of the label in the labelBuffer.
@return the newly allocated counter.
@see org.agrona.concurrent.status.CountersManager#allocate(int, DirectBuffer, int, int, DirectBuffer, int, int)