Microservice Telemetry

Calling a function on a Microservice

Dependencies

This guide assumes you have an existing Microservice. You need to complete the
[Getting-Started Guide]
(doc:cli-guide-getting-started). That means having Dotnet 8 installed, and getting the Beam CLI.

You can confirm you have everything installed checking the versions of the tools.

dotnet --version
beam version # beam --version also works.

In order to configure a Microservice, you also need to have a local .beamable workspace with a Beamable Standalone Microservice. As a reminder, you can create one quickly using the commands below.

beam init MyProject
cd MyProject
dotnet beam project new service HelloWorld

Logs

Standard Log Attributes

NameDescriptionConditionsStandard SetLEVEL
idA unique id for the log messageOTEL
service.instance.idA unique id for the process sending dataOTEL
service.nameThe fully qualified name of the serviceOTEL
service.namespaceThe beamoId of the serviceOTEL
bodyThe rendered contents of the log messageOTEL
timestampThe time of the log messageOTEL
severity_numberThe numeric value for the log level. Higher numbers have more importance.OTEL
severity_textThe log level for the message. "Debug", "Information", "Warning", "Error", "Critical"OTEL
span_idThe id of the active span when the log was createdOnly included when a trace is being recordedOTEL
trace_idThe id of the parent span when the log was createdOnly included when a trace is being recordedOTEL
beam.source"microservice" or "cli" or "unityEditor" or "unrealEditor"BEAM
beam.cidThe customer idBEAM
beam.pidThe realm idBEAM
beam.owner_player_idThe player id of the person that started the process, or 0 if the process was started remotelyOnly included when the service is running locallyBEAM
beam.routing_keyThe routing key for the serviceOnly included when the service is running locallyBEAM
beam.sdk_versionThe semantic SDK version of the beamable SDK reporting dataBEAM
beam.connection.idA UUID for the connection sending data. There may be multiple connectionIds per instanceIdOnly included after a connection has been establishedBEAM
beam.connection.request.request_idThe UUID of the request.Only included when the service is processing a requestBEAM
beam.connection.request.conn_request_idThe id of the request. Only unique per beam.connection.idOnly included when the service is processing a requestBEAMVERBOSE
beam.connection.request.player_idThe player id of the person that started the request, or 0 if there is no associated userOnly included when the service is processing a requestBEAM
beam.connection.request.pathThe relative path of the [Callable] being invoked through a requestOnly included when the service is processing a requestBEAM
beam.connection.request.root_trace_idThe top level trace id from Beamable's internal observability stackOnly included when the service is processing a requestBEAMVERBOSE
beam.connection.request.parent_trace_idThe most recent parent trace id from Beamable's internal observability stackOnly included when the service is processing a requestBEAMVERBOSE