Package org.apache.jmeter.report.processor

# Interface SampleProducer

All Superinterfaces:
  `SampleProcessor`

All Known Implementing Classes:
  `AbstractGraphConsumer`, `AbstractOverTimeGraphConsumer`, `AbstractSampleConsumer`, `AbstractSummaryConsumer`, `AbstractVersusRequestsGraphConsumer`, `ActiveThreadsGraphConsumer`, `AggregateConsumer`, `ApdexSummaryConsumer`, `BytesThroughputGraphConsumer`, `CodesPerSecondGraphConsumer`, `ConnectTimeOverTimeGraphConsumer`, `CustomGraphConsumer`, `ErrorsSummaryConsumer`, `ExternalSampleSorter`, `FilterConsumer`, `HitsPerSecondGraphConsumer`, `LatencyOverTimeGraphConsumer`, `LatencyVSRequestGraphConsumer`, `NormalizerSampleConsumer`, `RequestsSummaryConsumer`, `ResponseCustomGraphGraphConsumer`, `ResponseTimeDistributionGraphConsumer`, `ResponseTimeOverTimeGraphConsumer`, `ResponseTimePercentilesGraphConsumer`, `ResponseTimePercentilesOverTimeGraphConsumer`, `ResponseTimePerSampleGraphConsumer`, `ResponseTimeVSRequestGraphConsumer`, `SampleWriterConsumer`, `StatisticsSummaryConsumer`, `SyntheticResponseTimeDistributionGraphConsumer`, `TaggerConsumer`, `TimeVSThreadGraphConsumer`, `Top5ErrorsBySamplerConsumer`, `TotalTPSGraphConsumer`, `TransactionsPerSecondGraphConsumer`

public interface SampleProducer extends SampleProcessor
Defines a sample producer

A sample producer is able to produce sample on different channels.

Typically, a `SampleProducer` can be connected to `SampleConsumer` where it will produced sample that will be consumed by the sample consumer.

A sample producer can produce samples of different metadata for reach channel/

The following production sequence must be observed:

- Call `setProducedMetadata()` for each produced channel
- Call `startProducing()`
- Call `produce()` for each sample to produce for every channel
- Call `stopProducing()`

Since:
  3.0

## Method Summary

Modifier and Type
Method
Description
`void`
`produce(Sample s, int channel)`
Produce a single sample on the specified channel
`void`
`setProducedMetadata(SampleMetadata metadata, int channel)`
Set the metadata associated with the specified channel
`void`
`startProducing()`
Start producing samples, must be invoked before any call to `produce()`
`void`
`stopProducing()`
Stop producing samples, no `produce()` call should occur after this service has been called.

### Methods inherited from interface org.apache.jmeter.report.processor.SampleProcessor

`getChannelAttribute, getSampleContext, setChannelAttribute, setSampleContext`

## Method Details

### setProducedMetadata

void setProducedMetadata(SampleMetadata metadata, int channel)
Set the metadata associated with the specified channel

Parameters:
  `metadata` - The metadata to be associated to the specified channel
  `channel` - The channel whoses metadata are being associated with

### startProducing

void startProducing()
Start producing samples, must be invoked before any call to `produce()`

### produce

void produce(Sample s, int channel)
Produce a single sample on the specified channel

Parameters:
  `s` - The sample produced
  `channel` - The channel on which is produced the sample

### stopProducing

void stopProducing()
Stop producing samples, no `produce()` call should occur after this service has been called.