public Sensor nodeLevelSensor(final String threadId,
                                  final String taskId,
                                  final String processorNodeName,
                                  final String sensorSuffix,
                                  final Sensor.RecordingLevel recordingLevel,
                                  final Sensor... parents) {
        final String sensorPrefix = nodeSensorPrefix(threadId, taskId, processorNodeName);
        synchronized (nodeLevelSensors) {
            return getSensors(nodeLevelSensors, sensorSuffix, sensorPrefix, recordingLevel, parents);
        }
    }
@Test
    public void shouldGetNewNodeLevelSensor() {
        final Metrics metrics = mock(Metrics.class);
        final RecordingLevel recordingLevel = RecordingLevel.INFO;
        setupGetNewSensorTest(metrics, recordingLevel);
        final StreamsMetricsImpl streamsMetrics = new StreamsMetricsImpl(metrics, CLIENT_ID, VERSION, time);

        final Sensor actualSensor = streamsMetrics.nodeLevelSensor(
            THREAD_ID1,
            TASK_ID1,
            NODE_ID1,
            SENSOR_NAME_1,
            recordingLevel
        );

        assertThat(actualSensor, is(equalToObject(sensor)));
    }