Skip to main content

JSON Schema

Variable

FieldTypeLabelDescription
idstring
labelstring
descriptionstring
pathsstringrepeated

LogConfig

FieldTypeLabelDescription
default_levelnanoping.logging.Level
log_filtersplumr.protobuf.LogFilterrepeated

DataRate

FieldTypeLabelDescription
goodput_expressionstring
overhead_expressionstring
typeDataRateTypeoptional

DecoratedText

FieldTypeLabelDescription
textstring
colorstringoptional

Gauge

FieldTypeLabelDescription
expressionstring

KpiMetric

FieldTypeLabelDescription
labelstring
value_over_timeValueOverTime
valueValue
gaugeGauge
data_rateDataRate
value_over_time_comparisonValueOverTimeComparison
value_to_textValueToText
value_to_text_conditionsValueToTextConditions
multiple_values_over_timeMultipleValuesOverTime
multiple_valuesMultipleValues
descriptionstring
idstring
column_spanint32optional

Kpis

FieldTypeLabelDescription
variablesKpis.VariablesEntryrepeated
metricsKpiMetricrepeated

Kpis.VariablesEntry

FieldTypeLabelDescription
keystring
valuestring

MultipleValues

FieldTypeLabelDescription
unitstringoptional
valuesMultipleValuesItemrepeated

MultipleValuesItem

FieldTypeLabelDescription
expressionstring
labelstring
descriptionstringoptional
colorstringoptional

MultipleValuesOverTime

FieldTypeLabelDescription
unitstringoptional
valuesMultipleValuesOverTimeItemrepeated
graph_typeMultipleValuesOverTimeGraphTypeoptional

MultipleValuesOverTimeItem

FieldTypeLabelDescription
expressionstring
labelstring
descriptionstringoptional
colorstringoptional

Value

FieldTypeLabelDescription
expressionstring
unitstringoptional

ValueOverTime

FieldTypeLabelDescription
expressionstring
unitstringoptional
min_expressionstringoptional
max_expressionstringoptional
avg_expressionstringoptional

ValueOverTimeComparison

FieldTypeLabelDescription
value1_expressionstring
value2_expressionstring
unitstringoptional
value1_textstringoptional
value2_textstringoptional
value1_min_expressionstringoptional
value2_min_expressionstringoptional
value1_max_expressionstringoptional
value2_max_expressionstringoptional
value1_avg_expressionstringoptional
value2_avg_expressionstringoptional

ValueToText

FieldTypeLabelDescription
expressionstring
mappingValueToText.MappingEntryrepeated

ValueToText.MappingEntry

FieldTypeLabelDescription
keystring
valueDecoratedText

ValueToTextCondition

FieldTypeLabelDescription
expressionstring
textstring
colorstringoptional

ValueToTextConditions

FieldTypeLabelDescription
conditionsValueToTextConditionrepeated

DataRateType

NameNumberDescription
TOTAL0
RATE1

MultipleValuesOverTimeGraphType

NameNumberDescription
AREA_STACK0
LINE1

DisplayCoordinates

FieldTypeLabelDescription
xint32
yint32

Meta

FieldTypeLabelDescription
component_display_coordinatesMeta.ComponentDisplayCoordinatesEntryrepeated
component_display_orderMeta.ComponentDisplayOrderEntryrepeated

Meta.ComponentDisplayCoordinatesEntry

FieldTypeLabelDescription
keystring
valueDisplayCoordinates

Meta.ComponentDisplayOrderEntry

FieldTypeLabelDescription
keystring
valueint32

PipelineConfig

FieldTypeLabelDescription
versionuint32
plumr_configplumr.protobuf.Config
metaMeta
kpisKpisoptional
variablesVariablerepeated

RandomBurstLoss

FieldTypeLabelDescription
inputstring
outputstring
loss_probdouble
burstint32
seedint32optional

RelyDecoder

FieldTypeLabelDescription
inputstring
outputstring
timeoutint32
release_in_orderbool

SporadicTrafficSource

FieldTypeLabelDescription
outputstring
total_packetsuint32
min_packetsuint32
max_packetsuint32
min_idleuint32
max_idleuint32
min_packet_sizeuint32optional
max_packet_sizeuint32optional
seeduint32optional

Fragmentizer

FieldTypeLabelDescription
inputstring
outputstring
fragment_sizeuint32optional

FlowFilter

FieldTypeLabelDescription
inputstring
match_outputstring
mismatch_outputstring
filtersFlowFilterFilterrepeated

FlowFilterCondition

Possible filter conditions currently only IPv4 is supported.

FieldTypeLabelDescription
layer3_protocolFlowFilterLayer3ProtocolCondition
layer3_source_ipstring
layer3_destination_ipstring
layer4_source_portuint32
layer4_destination_portuint32

FlowFilterFilter

A set of filter conditions that need to match

FieldTypeLabelDescription
conditionsFlowFilterConditionrepeated

FlowFilterLayer3ProtocolCondition

Possible transport protocols to match on

NameNumberDescription
TCP0
UDP1

Parity2dDecoder

FieldTypeLabelDescription
inputstring
outputstring

PeerRouter

FieldTypeLabelDescription
ingressPeerRouter.InputOutput
egressPeerRouter.InputOutput

PeerRouter.InputOutput

FieldTypeLabelDescription
inputstring
outputstring

PeriodicBurstLoss

FieldTypeLabelDescription
inputstring
outputstring
intervalint32
burstint32

SessionReader

FieldTypeLabelDescription
inputstring
outputstring

TimedBurstLoss

FieldTypeLabelDescription
inputstring
outputstring
interval_msint32
burst_packetsint32optional
burst_duration_msint32optional
cancel_timer_msint32optional

FlowCombiner

FieldTypeLabelDescription
inputsstringrepeated
outputstring

VideoTrafficSource

FieldTypeLabelDescription
outputstring
fpsuint32
p_framesuint32
total_packetsuint32
min_packet_sizeuint32optional
max_packet_sizeuint32optional
seeduint32optional

BoringSSLPoly1305Signer

FieldTypeLabelDescription
inputstring
outputstring
shared_secretstring

UniformTrafficSource

FieldTypeLabelDescription
outputstring
total_packetsuint32
intervaluint32
min_packet_sizeuint32optional
max_packet_sizeuint32optional
seeduint32optional

ClientIDWriter

FieldTypeLabelDescription
inputstring
outputstring
client_iduint32

Aes128GcmSha256

FieldTypeLabelDescription
keystring

Aes256GcmSha384

FieldTypeLabelDescription
keystring

Chacha20Poly1305Sha256

FieldTypeLabelDescription
keystring

Gate

FieldTypeLabelDescription
flowsGateFlowrepeated
closedbool

GateFlow

FieldTypeLabelDescription
inputstring
outputstring

Splitter

FieldTypeLabelDescription
inputstring
outputsstringrepeated

UnixSocket

FieldTypeLabelDescription
inputstringoptional
outputstringoptional
mtuuint32optional
serverUnixSocketServerOptions
clientUnixSocketClientOptions

UnixSocketClientOptions

FieldTypeLabelDescription
server_addressstring
bind_addressint32

UnixSocketServerOptions

FieldTypeLabelDescription
listen_addressstring

LossTrackerReceiver

FieldTypeLabelDescription
inputstring
outputstring
sampling_interval_msuint32optional

BandwidthConstrictor

FieldTypeLabelDescription
inputstring
outputstring
bandwidth_limit_mbitfloat
max_queue_sizeint32optional

UniformLossSequencer

FieldTypeLabelDescription
inputstring
outputstring
loss_probsdoublerepeated
intervalsint32repeated
repeatbooloptional
seedint32optional

LossTrackerSender

FieldTypeLabelDescription
inputstring
outputstring

TraceTrafficSource

FieldTypeLabelDescription
outputstring
trace_filestring
loopsuint32optional
loop_delayuint32optional
seeduint32optional

LatencyTrackerSender

FieldTypeLabelDescription
inputstring
outputstring

PeerWriter

FieldTypeLabelDescription
inputstring
outputstring
remote_addressstring

RelayRoutingFabric

FieldTypeLabelDescription
inputstring
outputstring
routesRelayRoutingFabric.RouteEntryrepeated
fabric_typeRelayRoutingFabricType

RelayRoutingFabric.RouteEntry

FieldTypeLabelDescription
client_iduint32
routestring

RelayRoutingFabricType

NameNumberDescription
IP0

DelayJitter

FieldTypeLabelDescription
inputstring
outputstring
delayint32
jitterint32
seedint32optional

TrafficSink

FieldTypeLabelDescription
inputstring
mtuint32
latency_budgetuint32optional
timeout_msuint32optional

Parity2dEncoder

FieldTypeLabelDescription
inputstring
outputstring
columnsint32
rowsint32

TagDemux

FieldTypeLabelDescription
inputstring
outputsTagDemux.TaggedOutputrepeated

TagDemux.TaggedOutput

FieldTypeLabelDescription
namestring
tagint32

DelayFixedSequencer

FieldTypeLabelDescription
inputstring
outputstring
delaysint32repeated
intervalsint32repeated
repeatbooloptional

RelayNetworkLookup

FieldTypeLabelDescription
networkRelayNetworkLookup.InputOutput
clientRelayNetworkLookup.InputOutput
client_iduint32repeated

RelayNetworkLookup.InputOutput

FieldTypeLabelDescription
inputstring
outputstring

Udp

FieldTypeLabelDescription
inputstringoptional
outputstringoptional
local_addressstringoptional
remote_addressstringoptional
interfacestringoptional
mtuint32optional
socket_buffer_sizeint32optional
multicast_ttluint32optional
multicast_groupstringoptional
lock_to_first_peerbool

RelyEncoder

FieldTypeLabelDescription
inputstring
outputstring
timeoutint32
max_payloadsint32
repair_time_windowint32
repair_target_ratedouble

Component

A component within the pipeline.

FieldTypeLabelDescription
trace_traffic_sourceTraceTrafficSource
traffic_sinkTrafficSink
chacha20_encryptChacha20Encrypt
chacha20_decryptChacha20Decrypt
constant_auth_signConstantAuthSign
constant_auth_verifyConstantAuthVerify
tag_muxTagMux
tag_demuxTagDemux
rely_encoderRelyEncoder
rely_decoderRelyDecoder
tunTun
udpUdp
observerObserver
fragmentizerFragmentizer
defragmentizerDefragmentizer
uniform_lossUniformLoss
reed_solomon_encoderReedSolomonEncoder
reed_solomon_decoderReedSolomonDecoder
periodic_burst_lossPeriodicBurstLoss
gilbert_elliot_lossGilbertElliotLoss
random_burst_lossRandomBurstLoss
delay_fixedDelayFixed
delay_jitterDelayJitter
uniform_traffic_sourceUniformTrafficSource
sporadic_traffic_sourceSporadicTrafficSource
video_traffic_sourceVideoTrafficSource
parity_2d_encoderParity2dEncoder
parity_2d_decoderParity2dDecoder
throughput_trackerThroughputTracker
loss_tracker_senderLossTrackerSender
loss_tracker_receiverLossTrackerReceiver
latency_tracker_senderLatencyTrackerSender
latency_tracker_receiverLatencyTrackerReceiver
throughput_traffic_sourceThroughputTrafficSource
raftRaft
splitterSplitter
tcpTcp
session_writerSessionWriter
session_readerSessionReader
delay_fixed_sequencerDelayFixedSequencer
uniform_loss_sequencerUniformLossSequencer
timed_burst_lossTimedBurstLoss
bandwidth_constrictorBandwidthConstrictor
bandwidth_constrictor_sequencerBandwidthConstrictorSequencer
tapTap
rlnc_encoderRlncEncoder
rlnc_decoderRlncDecoder
kodok_encoderKodokEncoder
kodok_decoderKodokDecoder
flow_filterFlowFilter
flow_combinerFlowCombiner
simulated_networkSimulatedNetwork
peer_routerPeerRouter
peer_writerPeerWriter
boringssl_encryptBoringSSLEncrypt
boringssl_decryptBoringSSLDecrypt
boringssl_poly1305_signerBoringSSLPoly1305Signer
boringssl_poly1305_checkerBoringSSLPoly1305Checker
udp_localUdpLocal
udp_remoteUdpRemote
unix_socketUnixSocket
relay_network_lookupRelayNetworkLookup
relay_routing_fabricRelayRoutingFabric
client_id_readerClientIDReader
client_id_writerClientIDWriter
gateGate

ConstantAuthVerify

FieldTypeLabelDescription
inputstring
outputstring
constantuint64

RelayConfiguration

FieldTypeLabelDescription
entry_pipelinestring
endpointsRelayConfiguration.EndpointsEntryrepeated
routesRelayConfiguration.RoutesEntryrepeated

RelayConfiguration.EndpointsEntry

FieldTypeLabelDescription
keystring
valueRelayEndpoint

RelayConfiguration.RoutesEntry

FieldTypeLabelDescription
keystring
valueRelayRoute

RelayEndpoint

FieldTypeLabelDescription
pipelinestring
carriersstringrepeated

RelayRoute

FieldTypeLabelDescription
endpointsstringrepeated
conmmentstringoptional

BoringSSLEncrypt

FieldTypeLabelDescription
inputstring
outputstring
aes_128_gcm_sha_256Aes128GcmSha256
aes_256_gcm_sha_384Aes256GcmSha384
chacha20_poly1305_sha_256Chacha20Poly1305Sha256

Tcp

FieldTypeLabelDescription
inputstringoptional
outputstringoptional
listen_addressstringoptional
remote_addressstringoptional
application_facingbool

SimulatedNetwork

FieldTypeLabelDescription
inputstringoptional
outputstringoptional
mtuint32optional
network_namestring
receiversstringrepeated

KodokEncoder

FieldTypeLabelDescription
inputstring
outputstring
repair_configsRepairConfigrepeated
timeoutint32optional

RepairConfig

Configuration of the FEC repair generation at a specific point during the encoding.

FieldTypeLabelDescription
source_packetsint32
repair_packetsint32

Raft

FieldTypeLabelDescription
streamsRaftStreamrepeated
carriersRaftCarrierrepeated

RaftCarrier

Raft carrier responsible for transporting data from the stream, protected with FEC and ARQ.

FieldTypeLabelDescription
inputstring
outputstring
carrier_handleuint64

RaftStream

Raft stream representing incoming data streams to be transmitted.

FieldTypeLabelDescription
inputstringoptional
outputstringoptional
stream_handleuint64
timeoutint64

Observer

FieldTypeLabelDescription
inputstring
outputstring

Chacha20Decrypt

FieldTypeLabelDescription
inputstring
outputstring
magic_constantstring
keystring
noncestring
roundsint32

GilbertElliotLoss

FieldTypeLabelDescription
inputstring
outputstring
good_loss_probdouble
bad_loss_probdouble
good_to_bad_probdouble
bad_to_good_probdouble
seedint32optional

ThroughputTracker

FieldTypeLabelDescription
inputstring
outputstring
interval_msuint32optional

LatencyTrackerReceiver

FieldTypeLabelDescription
inputstring
outputstring
sampling_interval_msuint32optional
latency_budgetint32optional

ReedSolomonEncoder

FieldTypeLabelDescription
inputstring
outputstring
symbolsint32
repairint32

DelayFixed

FieldTypeLabelDescription
inputstring
outputstring
delayint32

RlncDecoder

FieldTypeLabelDescription
inputstring
outputstring

Tap

FieldTypeLabelDescription
inputstring
outputstring
interface_namestring
ipstring
netmaskstringoptional
is_default_routebooloptional
mtuuint32optional

Command

Command to be executed.

FieldTypeLabelDescription
cmdstringCommand to execute.
cwdstringoptionalCurrent working directory for the command.
policyCommandExecutionPolicyPolicy for executing the command.
timeoutuint32optionalTimeout for command execution in milliseconds. If not specified will default to 10 sec.
envEnvironmentoptionalEnvironment variables for the command.

Environment

Environment variables.

FieldTypeLabelDescription
varsEnvironment.VarsEntryrepeatedMapping of environment variable names to their values.

Environment.VarsEntry

FieldTypeLabelDescription
keystring
valuestring

LifecycleHandler

Handler for lifecycle events.

FieldTypeLabelDescription
envEnvironmentoptionalGlobal environment variables for lifecycle events.
on_setupCommandrepeatedCommands to execute during setup.
pre_startCommandrepeatedCommands to execute before starting the pipeline.
post_startCommandrepeatedCommands to execute after starting the pipeline.
pre_stopCommandrepeatedCommands to execute before stopping the pipeline.
post_stopCommandrepeatedCommands to execute after stopping the pipeline.

CommandExecutionPolicy

Policies for executing commands.

NameNumberDescription
STOP_ON_ERROR0Stop the pipeline if the command fails.
CONTINUE_ON_ERROR1Continue executing the pipeline if the command fails.
RUN_IN_BACKGROUND2Run the command in the background. If you use this policy in a post_stop command, the process will be killed immediately after launch

UniformLoss

FieldTypeLabelDescription
inputstring
outputstring
loss_probdouble
seedint32optional

BandwidthConstrictorSequencer

FieldTypeLabelDescription
inputstring
outputstring
bandwidth_limits_mbitfloatrepeated
max_queue_sizesint32repeated
intervalsint32repeated
repeatbooloptional

ConstantAuthSign

FieldTypeLabelDescription
inputstring
outputstring
constantuint64

RlncEncoder

FieldTypeLabelDescription
inputstring
outputstring
symbolsint32
repairint32

ClientIDReader

FieldTypeLabelDescription
inputstring
outputstring
client_iduint32

ThroughputTrafficSource

FieldTypeLabelDescription
outputstring
throughput_mbitdouble
duration_msuint32
payload_sizeuint32
seeduint32optional
batch_sizeuint32optional

Tun

FieldTypeLabelDescription
inputstring
outputstring
interface_namestring
ipstring
netmaskstringoptional
is_default_routebooloptional
generic_offloadbooloptional
mtuuint32optional

BoringSSLPoly1305Checker

FieldTypeLabelDescription
inputstring
outputstring
shared_secretstring

ReedSolomonDecoder

FieldTypeLabelDescription
inputstring
outputstring

UdpLocal

FieldTypeLabelDescription
inputstringoptional
outputstring
mtuint32optional
addressstring
interfacestringoptional
backendUdpBackendoptional

UdpRemote

FieldTypeLabelDescription
inputstring
outputstringoptional
mtuint32optional
interfacestringoptional
backendUdpBackendoptional

UdpBackend

NameNumberDescription
GENERIC0
LINUX_NO_GRO1
LINUX2

Chacha20Encrypt

FieldTypeLabelDescription
inputstring
outputstring
magic_constantstring
keystring
noncestring
roundsint32

Defragmentizer

FieldTypeLabelDescription
inputstring
outputstring

SessionWriter

FieldTypeLabelDescription
inputstring
outputstring

TagMux

FieldTypeLabelDescription
inputsTagMux.TaggedInputrepeated
outputstring

TagMux.TaggedInput

FieldTypeLabelDescription
namestring
tagint32

Config

Pipeline configuration.

FieldTypeLabelDescription
pipelineConfig.PipelineEntryrepeatedThe components of the pipeline.
shm_configShmConfigoptionalConfiguration for the shared memory file.
log_filtersLogFilterrepeatedFilters for log messages.
lifecycle_handlerLifecycleHandleroptionalLifecycle handler for the pipeline.

Config.PipelineEntry

FieldTypeLabelDescription
keystring
valuecomponent.Component

LogActions

FieldTypeLabelDescription
actionsstringrepeated

LogFilter

Filter for log messages.

FieldTypeLabelDescription
levelLogLevel
actionsLogActions
path_filterstringoptionalPath filter to log.
filestringoptionalFile to store log in.
modeLogModeoptionalMode to log in.

ShmConfig

Dump metrics of the pipelines into the shared memory file.

FieldTypeLabelDescription
file_pathstringThe path of the shared memory file
bytesint32The size of the shared memory file in bytes
interval_msint32Interval in milliseconds between writing metrics to the shared memory file.

LogLevel

Log levels used for filtering log messages.

NameNumberDescription
STATE0
DEBUG1
INFO2
WARN3
ERROR4
FATAL5

LogMode

NameNumberDescription
APPEND0Append to the file.
TRUNCATE1Truncate the file.

BoringSSLDecrypt

FieldTypeLabelDescription
inputstring
outputstring
aes_128_gcm_sha_256Aes128GcmSha256
aes_256_gcm_sha_384Aes256GcmSha384
chacha20_poly1305_sha_256Chacha20Poly1305Sha256

KodokDecoder

FieldTypeLabelDescription
inputstring
outputstring

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)