Skip to main content

JSON Schema

PipelineConfig​

FieldTypeLabelDescription
versionuint32
plumr_configplumr.protobuf.Config
metaMeta
kpisKpisoptional
variablesVariablerepeated

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

LogConfig​

FieldTypeLabelDescription
default_levelnanoping.logging.Level
log_filtersplumr.protobuf.LogFilterrepeated

DisplayCoordinates​

FieldTypeLabelDescription
xint32
yint32

Meta​

FieldTypeLabelDescription
component_display_coordinatesMeta.ComponentDisplayCoordinatesEntryrepeated
component_display_orderMeta.ComponentDisplayOrderEntryrepeated

Meta.ComponentDisplayCoordinatesEntry​

FieldTypeLabelDescription
keystring
valueDisplayCoordinates

Meta.ComponentDisplayOrderEntry​

FieldTypeLabelDescription
keystring
valueint32

Variable​

FieldTypeLabelDescription
idstring
labelstring
descriptionstring
pathsstringrepeated

BandwidthLimitConstant​

FieldTypeLabelDescription
flowsEmulationFlowrepeated
bandwidth_limit_mbitdouble
max_queue_sizeuint32optional

BandwidthLimitDynamic​

FieldTypeLabelDescription
flowsEmulationFlowrepeated
phasesBandwidthLimitPhaserepeated
max_queue_sizeuint32optional

BandwidthLimitPhase​

FieldTypeLabelDescription
durationuint32
bandwidth_limit_mbitdouble

BandwidthTracker​

FieldTypeLabelDescription
inputstring
outputstring
window_msuint32optional
bucketsuint32optional

BandwidthTrafficSource​

FieldTypeLabelDescription
outputstring
bandwidth_mbitdouble
duration_msuint32
min_packet_sizeuint32optional
max_packet_sizeuint32optional
seeduint32optional

Bomb​

FieldTypeLabelDescription
delayuint32
poisonPoison

Poison​

NameNumberDescription
NONE0
VERIFY_FAIL1
ASSERT_FAIL2
THROW_EXCEPTION3
LOG_FATAL4

Aes128GcmSha256​

FieldTypeLabelDescription
keystring

Aes256GcmSha384​

FieldTypeLabelDescription
keystring

Chacha20Poly1305Sha256​

FieldTypeLabelDescription
keystring

BoringSSLDecrypt​

FieldTypeLabelDescription
inputstring
outputstring
aes_128_gcm_sha_256Aes128GcmSha256
aes_256_gcm_sha_384Aes256GcmSha384
chacha20_poly1305_sha_256Chacha20Poly1305Sha256

BoringSSLEncrypt​

FieldTypeLabelDescription
inputstring
outputstring
aes_128_gcm_sha_256Aes128GcmSha256
aes_256_gcm_sha_384Aes256GcmSha384
chacha20_poly1305_sha_256Chacha20Poly1305Sha256

BoringSSLPoly1305Checker​

FieldTypeLabelDescription
inputstring
outputstring
shared_secretstring

BoringSSLPoly1305Signer​

FieldTypeLabelDescription
inputstring
outputstring
shared_secretstring

ClientIDReader​

FieldTypeLabelDescription
inputstring
outputstring
client_iduint32

ClientIDWriter​

FieldTypeLabelDescription
inputstring
outputstring
client_iduint32

Component​

A component within the pipeline.

FieldTypeLabelDescription
trace_traffic_sourceTraceTrafficSource
traffic_sinkTrafficSink
constant_auth_signConstantAuthSign
constant_auth_verifyConstantAuthVerify
tag_muxTagMux
tag_demuxTagDemux
rely_encoderRelyEncoder
rely_decoderRelyDecoder
tunTun
observerObserver
fragmentizerFragmentizer
defragmentizerDefragmentizer
reed_solomon_encoderReedSolomonEncoder
reed_solomon_decoderReedSolomonDecoder
uniform_traffic_sourceUniformTrafficSource
sporadic_traffic_sourceSporadicTrafficSource
video_traffic_sourceVideoTrafficSource
parity_2d_encoderParity2dEncoder
parity_2d_decoderParity2dDecoder
loss_tracker_senderLossTrackerSender
loss_tracker_receiverLossTrackerReceiver
latency_tracker_senderLatencyTrackerSender
latency_tracker_receiverLatencyTrackerReceiver
raftRaft
splitterSplitter
tcpTcp
session_writerSessionWriter
session_readerSessionReader
tapTap
rlnc_encoderRlncEncoder
rlnc_decoderRlncDecoder
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
bombBomb
delay_constantDelayConstant
delay_dynamicDelayDynamic
loss_constantLossConstant
loss_dynamicLossDynamic
loss_gilbert_elliotLossGilbertElliot
bandwidth_limit_constantBandwidthLimitConstant
bandwidth_limit_dynamicBandwidthLimitDynamic
bandwidth_trackerBandwidthTracker
bandwidth_traffic_sourceBandwidthTrafficSource
notification_injectorNotificationInjector
rtp_observerRtpObserver
udp_multicast_senderUdpMulticastSender
udp_multicast_listenerUdpMulticastListener
load_balancerLoadBalancer

CPUConfig​

FieldTypeLabelDescription
pinPin

Config​

Pipeline configuration.

FieldTypeLabelDescription
pipelineConfig.PipelineEntryrepeatedThe components of the pipeline.
shm_configShmConfigoptionalConfiguration for the shared memory file where the pipelines metrics are stored.
log_filtersLogFilterrepeatedFilters for log messages.
shm_log_filtersShmLogFilterrepeatedFilters for log messages in shared memory.
lifecycle_handlerLifecycleHandleroptionalLifecycle handler for the pipeline.
cpu_configCPUConfigoptionalCPU configuration for the pipeline.
packet_buffer_drop_threshold_bytesuint64optionalControls pipeline memory when packet backlog grows

When set and non-zero, entry-point outputs drop new packets immediately once in-use packet buffer bytes reach this value, instead of forwarding them into the pipeline.

Note; this value can be changed during runtime without restarting the pipeline. |

Config.PipelineEntry​

FieldTypeLabelDescription
keystring
valuecomponent.Component

Deduplicator​

FieldTypeLabelDescription
ignore_fieldsstringrepeatedFields to ignore when deduplicating log messages. Note, the timestamp field is always ignored.
timeout_msuint32optionalTimeout in milliseconds.

LogActions​

FieldTypeLabelDescription
actionsstringrepeated

LogFilter​

File log filter for log messages.

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

Pin​

FieldTypeLabelDescription
performance_modebooloptionalThe CPU core to run the pipeline on.
coreuint32optional

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.

ShmLogFilter​

Shared memory log filter for log messages.

FieldTypeLabelDescription
levelLogLevel
actionsLogActions
path_filterstringoptionalPath filter to log.
filestringThe path of the shared memory file
bytesint32The size of the shared memory file in bytes
unlink_at_exitbooloptionalDetermines whether the file should be unlinked when the pipeline exits.

LogLevel​

Log levels used for filtering log messages.

NameNumberDescription
STATE0
DEBUG1
INFO2
WARN3
ERROR4
FATAL5

LogMode​

NameNumberDescription
APPEND0Append to the file.
TRUNCATE1Truncate the file.

ConstantAuthSign​

FieldTypeLabelDescription
inputstring
outputstring
constantuint64

ConstantAuthVerify​

FieldTypeLabelDescription
inputstring
outputstring
constantuint64

Defragmentizer​

FieldTypeLabelDescription
inputstring
outputstring

DelayConstant​

FieldTypeLabelDescription
flowsEmulationFlowrepeated
delayuint32
jitteruint32optional
allow_reorderingbooloptional
seedint32optional

DelayDynamic​

FieldTypeLabelDescription
flowsEmulationFlowrepeated
phasesDelayPhaserepeated
allow_reorderingbooloptional
seedint32optional

DelayPhase​

FieldTypeLabelDescription
durationuint32
delayuint32
jitteruint32optional

EmulationFlow​

FieldTypeLabelDescription
inputstring
outputstring

FlowCombiner​

FieldTypeLabelDescription
inputsstringrepeated
outputstring

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

Fragmentizer​

FieldTypeLabelDescription
inputstring
outputstring
fragment_sizeuint32optional

Gate​

FieldTypeLabelDescription
flowsEmulationFlowrepeated
closedbool

LatencyTrackerReceiver​

FieldTypeLabelDescription
inputstring
outputstring
sampling_interval_msuint32optional
latency_budgetint32optional

LatencyTrackerSender​

FieldTypeLabelDescription
inputstring
outputstring

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

LoadBalancer​

FieldTypeLabelDescription
inputstring
outputsLoadBalancerOutputrepeated

LoadBalancerOutput​

Output link and weight used for load distribution.

FieldTypeLabelDescription
namestring
weightuint32

LossConstant​

FieldTypeLabelDescription
flowsEmulationFlowrepeated
loss_probabilitydouble
seedint32optional

LossDynamic​

FieldTypeLabelDescription
flowsEmulationFlowrepeated
phasesLossPhaserepeated
seedint32optional

LossPhase​

FieldTypeLabelDescription
durationuint32
loss_probabilitydouble

LossGilbertElliot​

FieldTypeLabelDescription
flowsEmulationFlowrepeated
good_loss_probabilitydouble
bad_loss_probabilitydouble
good_to_bad_probabilitydouble
bad_to_good_probabilitydouble
seedint32optional

LossTrackerReceiver​

FieldTypeLabelDescription
inputstring
outputstring
sampling_interval_msuint32optional

LossTrackerSender​

FieldTypeLabelDescription
inputstring
outputstring

InterfaceInfo​

Information about a network interface.

FieldTypeLabelDescription
is_upbool
mtuuint32
ipsstringrepeated
mac_addressstring

InterfaceInfoWrapper​

Wrapper for optional InterfaceInfo to support null values in maps.

FieldTypeLabelDescription
infoInterfaceInfooptional

ListRequest​

Request the current list of interfaces.

ListResponse​

Response containing the current list of interfaces

FieldTypeLabelDescription
successbool
messagestring
interfacesListResponse.InterfacesEntryrepeated

ListResponse.InterfacesEntry​

FieldTypeLabelDescription
keystring
valueInterfaceInfoWrapper

LogFilters​

Set or change the log filters.

FieldTypeLabelDescription
file_log_filtersplumr.protobuf.LogFilterrepeated
shm_log_filtersplumr.protobuf.ShmLogFilterrepeated

RegisterRequest​

Request to register to receive pushed updates about interfaces.

Request​

Request message that can contain different types of requests.

FieldTypeLabelDescription
optionSetOptionRequest
registerRegisterRequestRegister to receive pushed updates about interfaces
startStartRequestStart the actual monitor
listListRequestRequest the current list of interfaces

Response​

Response message indicating success or failure of an operation.

FieldTypeLabelDescription
simpleSimpleResponseSimple success/failure response
listListResponseResponse containing the list of interfaces

SetOptionRequest​

Request to set various options for the network monitor.

FieldTypeLabelDescription
log_filtersLogFilters

SimpleResponse​

Simple response for operations that just need success/failure

FieldTypeLabelDescription
successbool
messagestring

StartRequest​

Request to start the network monitor.

FieldTypeLabelDescription
shm_configplumr.protobuf.ShmConfigoptional

Update​

Update message containing interface information.

FieldTypeLabelDescription
interfacesUpdate.InterfacesEntryrepeatedMap of interface names to their information. If an interface has no info payload, it means it was removed.

Update.InterfacesEntry​

FieldTypeLabelDescription
keystring
valueInterfaceInfoWrapper

WireMessage​

An encapsulation of the various messages sent over the wire.

FieldTypeLabelDescription
requestRequest
responseResponse
updateUpdate

NotificationInjector​

FieldTypeLabelDescription
flowsEmulationFlowrepeated
notificationNotificationoptional

Observer​

FieldTypeLabelDescription
inputstring
outputstring

Parity2dDecoder​

FieldTypeLabelDescription
inputstring
outputstring

Parity2dEncoder​

FieldTypeLabelDescription
inputstring
outputstring
columnsint32
rowsint32

PeerRouter​

FieldTypeLabelDescription
ingressPeerRouter.InputOutput
egressPeerRouter.InputOutput

PeerRouter.InputOutput​

FieldTypeLabelDescription
inputstring
outputstring

PeerWriter​

FieldTypeLabelDescription
inputstring
outputstring
remote_addressstring

FixedReplication​

Raft stream extension for fixed replication repair mode.

Raft​

FieldTypeLabelDescription
streamsRaftStreamrepeated
carriersRaftCarrierrepeated
max_packet_bytesuint32optional

RaftCarrier​

Raft carrier responsible for transporting data from the streams

FieldTypeLabelDescription
inputstring
outputstring
carrier_handleuint32
bandwidth_priorityuint32optional
max_bandwidth_mbpsuint32optional
auto_bandwidth_estimationbooloptional

RaftRealtimeStream​

FieldTypeLabelDescription
timeoutuint32
jitter_bufferuint32optional
extensionRaftRealtimeStreamExtensionoptional

RaftRealtimeStreamExtension​

FieldTypeLabelDescription
fixed_replicationFixedReplication

RaftStream​

Raft stream representing incoming data streams to be transmitted.

FieldTypeLabelDescription
inputstringoptional
outputstringoptional
stream_handleuint32
realtime_streamRaftRealtimeStream
transit_streamRaftTransitStream

RaftTransitStream​

ReedSolomonDecoder​

FieldTypeLabelDescription
inputstring
outputstring

ReedSolomonEncoder​

FieldTypeLabelDescription
inputstring
outputstring
symbolsint32
repairint32

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

RelayNetworkLookup​

FieldTypeLabelDescription
networkRelayNetworkLookup.InputOutput
clientRelayNetworkLookup.InputOutput
client_iduint32repeated

RelayNetworkLookup.InputOutput​

FieldTypeLabelDescription
inputstring
outputstring

RelyDecoder​

FieldTypeLabelDescription
inputstring
outputstring
timeoutint32
release_in_orderbool

RelyEncoder​

FieldTypeLabelDescription
inputstring
outputstring
timeoutint32
max_payloadsint32
repair_time_windowint32
repair_target_ratedouble

RlncDecoder​

FieldTypeLabelDescription
inputstring
outputstring

RlncEncoder​

FieldTypeLabelDescription
inputstring
outputstring
symbolsint32
repairint32

RelayRoutingFabric​

FieldTypeLabelDescription
inputstring
outputstring
routesRelayRoutingFabric.RouteEntryrepeated
fabric_typeRelayRoutingFabricType

RelayRoutingFabric.RouteEntry​

FieldTypeLabelDescription
client_iduint32
routestring

RelayRoutingFabricType​

NameNumberDescription
IP0

RtpObserver​

FieldTypeLabelDescription
inputstring
outputstring
force_offsetint32optional

SessionReader​

FieldTypeLabelDescription
inputstring
outputstring

SessionWriter​

FieldTypeLabelDescription
inputstring
outputstring

SimulatedNetwork​

FieldTypeLabelDescription
inputstringoptional
outputstringoptional
mtuint32optional
network_namestring
receiversstringrepeated

Splitter​

FieldTypeLabelDescription
inputstring
outputsstringrepeated

SporadicTrafficSource​

FieldTypeLabelDescription
outputstring
total_packetsuint32
min_packetsuint32
max_packetsuint32
min_idleuint32
max_idleuint32
min_packet_sizeuint32optional
max_packet_sizeuint32optional
seeduint32optional

TagDemux​

FieldTypeLabelDescription
inputstring
outputsTagDemux.TaggedOutputrepeated

TagDemux.TaggedOutput​

FieldTypeLabelDescription
namestring
tagint32

TagMux​

FieldTypeLabelDescription
inputsTagMux.TaggedInputrepeated
outputstring

TagMux.TaggedInput​

FieldTypeLabelDescription
namestring
tagint32

Tap​

FieldTypeLabelDescription
inputstring
outputstring
interface_namestring
ipstring
netmaskstringoptional
is_default_routebooloptional
mtuuint32optional

Tcp​

FieldTypeLabelDescription
inputstringoptional
outputstringoptional
listen_addressstringoptional
remote_addressstringoptional
application_facingbool

TraceTrafficSource​

FieldTypeLabelDescription
outputstring
trace_filestring
loopsuint32optional
loop_delayuint32optional
seeduint32optional

TrafficSink​

FieldTypeLabelDescription
inputstring
mtuint32optional
latency_budgetuint32optional
timeout_msuint32optional

Tun​

FieldTypeLabelDescription
inputstring
outputstring
interface_namestring
ipstring
netmaskstringoptional
is_default_routebooloptional
generic_offloadbooloptional
mtuuint32optional

UdpBackend​

NameNumberDescription
GENERIC0
LINUX_NO_GRO1
LINUX2

UdpLocal​

FieldTypeLabelDescription
inputstringoptional
outputstring
mtuint32optional
addressstring
interfacestringoptional
backendUdpBackendoptional

UdpMulticastListener​

FieldTypeLabelDescription
outputstring
multicast_groupstring
interfacestring
local_addressstring
mtuint32optional

UdpMulticastSender​

FieldTypeLabelDescription
multicast_ttluint32optional
local_loopbackbooloptional
inputstring
interfacestring
local_addressstring
mtuint32optional

UdpRemote​

FieldTypeLabelDescription
inputstring
outputstringoptional
mtuint32optional
interfacestringoptional
backendUdpBackendoptional

UniformTrafficSource​

FieldTypeLabelDescription
outputstring
total_packetsuint32
intervaluint32
min_packet_sizeuint32optional
max_packet_sizeuint32optional
seeduint32optional

UnixSocket​

FieldTypeLabelDescription
inputstringoptional
outputstringoptional
mtuuint32optional
serverUnixSocketServerOptions
clientUnixSocketClientOptions

UnixSocketClientOptions​

FieldTypeLabelDescription
server_addressstring
bind_addressint32

UnixSocketServerOptions​

FieldTypeLabelDescription
listen_addressstring

VideoTrafficSource​

FieldTypeLabelDescription
outputstring
fpsuint32
p_framesuint32
total_packetsuint32
min_packet_sizeuint32optional
max_packet_sizeuint32optional
seeduint32optional

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)