...

Package kafka

import "github.com/hyperledger/fabric/orderer/consensus/kafka"
Overview
Index
Subdirectories

Overview ▾

Constants

const (
    IncomingByteRateName  = "incoming-byte-rate-for-broker-"
    OutgoingByteRateName  = "outgoing-byte-rate-for-broker-"
    RequestRateName       = "request-rate-for-broker-"
    RequestSizeName       = "request-size-for-broker-"
    RequestLatencyName    = "request-latency-in-ms-for-broker-"
    ResponseRateName      = "response-rate-for-broker-"
    ResponseSizeName      = "response-size-for-broker-"
    BatchSizeName         = "batch-size-for-topic-"
    RecordSendRateName    = "record-send-rate-for-topic-"
    RecordsPerRequestName = "records-per-request-for-topic-"
    CompressionRatioName  = "compression-ratio-for-topic-"
)

type Metrics

type Metrics struct {
    // The first set of metrics are all reported by Sarama
    IncomingByteRate  metrics.Gauge
    OutgoingByteRate  metrics.Gauge
    RequestRate       metrics.Gauge
    RequestSize       metrics.Gauge
    RequestLatency    metrics.Gauge
    ResponseRate      metrics.Gauge
    ResponseSize      metrics.Gauge
    BatchSize         metrics.Gauge
    RecordSendRate    metrics.Gauge
    RecordsPerRequest metrics.Gauge
    CompressionRatio  metrics.Gauge

    GoMetricsRegistry gometrics.Registry

    // LastPersistedOffset is reported by the Fabric/Kafka integration
    LastOffsetPersisted metrics.Gauge
}

func New

func New(config localconfig.Kafka, metricsProvider metrics.Provider, healthChecker healthChecker) (consensus.Consenter, *Metrics)

New creates a Kafka-based consenter. Called by orderer's main.go.

func NewMetrics

func NewMetrics(p metrics.Provider, registry gometrics.Registry) *Metrics

func (*Metrics) PollGoMetrics

func (m *Metrics) PollGoMetrics()

PollGoMetrics takes the current metric values from go-metrics and publishes them to the gauges exposed through go-kit's metrics.

func (*Metrics) PollGoMetricsUntilStop

func (m *Metrics) PollGoMetricsUntilStop(frequency time.Duration, stopChannel <-chan struct{})

PollGoMetricsUntilStop should generally be invoked on a dedicated go routine. This go routine will then invoke PollGoMetrics at the specified frequency until the stopChannel closes.

Subdirectories

Name Synopsis
..
mock Code generated by counterfeiter.