Skip to content

Instantly share code, notes, and snippets.

@lmolkova
Last active May 7, 2019 20:00
Show Gist options
  • Save lmolkova/e8643c5b9b1d57f2666a3e0d47227f66 to your computer and use it in GitHub Desktop.
Save lmolkova/e8643c5b9b1d57f2666a3e0d47227f66 to your computer and use it in GitHub Desktop.
OperationTelemetry proposal
import "Domain.bond"
namespace AI
[Description("An instance of operation represents completion of an logical operation.")]
struct OperationData
: Domain
{
[Description("Schema version")]
10: required int32 ver = 2;
[MaxStringLength("512")]
[Description("Identifier of a operation call instance. Used for correlation between requests and other telemetry items.")]
20: required string id;
[CSType("TimeSpan")]
[Description("operation duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days.")]
30: required string duration;
[MaxStringLength("1024")]
[Description("Short description of operation execution.")]
40: required string status;
[Description("Indication of successfull or unsuccessfull call.")]
50: required bool success = true;
[MaxStringLength("1024")]
[Description("Name of the operation. Low cardinality value to allow better grouping of operations.")]
60: string name;
[Description("Collection of custom properties.")]
[MaxKeyLength("150")]
[MaxValueLength("8192")]
100: map<string, string> properties;
[Description("Collection of custom measurements.")]
[MaxKeyLength("150")]
200: map<string, double> measurements;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment