aeron-archive/src/main/java/io/aeron/archive/client/AeronArchive.java
public long getRecordingPosition(final long recordingId)
    {
        lock.lock();
        try
        {
            ensureOpen();

            final long correlationId = aeron.nextCorrelationId();

            if (!archiveProxy.getRecordingPosition(recordingId, correlationId, controlSessionId))
            {
                throw new ArchiveException("failed to send get recording position request");
            }

            return pollForResponse(correlationId);
        }
        finally
        {
            lock.unlock();
        }
    }
public long getRecordingPosition(final long recordingId)
    {
        lock.lock();
        try
        {
            ensureOpen();

            final long correlationId = aeron.nextCorrelationId();

            if (!archiveProxy.getRecordingPosition(recordingId, correlationId, controlSessionId))
            {
                throw new ArchiveException("failed to send get recording position request");
            }

            return pollForResponse(correlationId);
        }
        finally
        {
            lock.unlock();
        }
    }
Get the position recorded for an active recording. If no active recording then return {@link #NULL_POSITION}.

@param recordingId of the active recording for which the position is required.
@return the recorded position for the active recording or {@link #NULL_POSITION} if recording not active.
@see #getStopPosition(long)