Vostok.Tracing.Abstractions
0.1.9
Prefix Reserved
dotnet add package Vostok.Tracing.Abstractions --version 0.1.9
NuGet\Install-Package Vostok.Tracing.Abstractions -Version 0.1.9
<PackageReference Include="Vostok.Tracing.Abstractions" Version="0.1.9" />
paket add Vostok.Tracing.Abstractions --version 0.1.9
#r "nuget: Vostok.Tracing.Abstractions, 0.1.9"
// Install Vostok.Tracing.Abstractions as a Cake Addin #addin nuget:?package=Vostok.Tracing.Abstractions&version=0.1.9 // Install Vostok.Tracing.Abstractions as a Cake Tool #tool nuget:?package=Vostok.Tracing.Abstractions&version=0.1.9
Vostok tracing
Distributed tracing allows to reconstruct the history of the logical operation spanning many applications and machines in time as a tree of smaller actions or events called spans. Spans can represent HTTP requests, database queries or any other significant interactions or events in a distributed system. A single span always describes a local event in a single process: an HTTP request usually produces two spans (client-side and server-side). Each kind of span stores specific information about performed action.
<br/>
<br/>
Span structure
Every span consists of following fields:
TraceId
— unique identifier of the trace containing the span (Guid).- Gets assigned on first operation (usually on a front-end application instance).
- Serves as a correlation identifier between spans
SpanId
— unique identifier of the span itself (Guid).ParentSpanId
— identifier of the parent span in the tree (Guid).- May be absent for root span in the tree.
BeginTimestamp
— beginning timestamp of the event or interaction described by this span (UTC timestamp + timezone offset).EndTimestamp
— ending timestamp of the event or interaction described by this span (UTC timestamp + timezone offset).- Always measured with the same clock as
BeginTimestamp
. This allows to derive span duration as a difference betweenEndTimestamp
andBeginTimestamp
. - May be absent for a special kind of 'endless' spans described further.
- Always measured with the same clock as
Annotations
— payload in key-value format (string --> object). Keys are case-sensitive.
<br/>
Common annotations
These are the annotations relevant for any span:
Name | Description |
---|---|
kind |
Span kind. There are a number of predefined span kinds for common use cases (e.g. http-request-server ). |
operation |
Human-readable logical operation or event name (e.g. create-user ). |
status |
Logical operation or event status (success , error , or warning ). Might not have operation-specific values. |
application |
Name of the application the span originated from. |
environment |
Name of the environment the span originated from. |
host |
DNS name of the host the span originated from. |
component |
Name of a library or component in code responsible for producing the span. |
<br/> <br/>
Kind-specific annotations
HTTP requests
Common annotations for all spans related to HTTP requests:
Name | Description | Default value |
---|---|---|
operation |
See common annotations. | {http.request.method} {normalized http.request.url} . Example: POST /page/{num}/process |
http.request.method |
Request method (e.g. GET , POST , PUT , etc). |
N/A |
http.request.url |
Request URL without query parameters. | N/A |
http.request.size |
Request body size in bytes. | N/A |
http.response.code |
Response code (e.g. 200 or 404 ). |
N/A |
http.response.size |
Response body size in bytes. | N/A |
Normalized URL is a short URL without scheme, authority and query parameters. Unique path segments (entity ids, search queries, hex values) are replaced with placeholders. Example before and after normalization: http://vm-app1/users/a534bcbd/
--> users/{id}
<br/>
HTTP client (direct)
Submitting an HTTP request directly to an external URL or a service replica.
Name | Description | Default value |
---|---|---|
kind |
See common annotations. | http-request-client |
http.request.targetService |
Name of the service to which request is sent. | N/A |
http.request.targetEnvironment |
Name of the environment to which request is sent. | N/A |
<br/>
HTTP client (cluster)
Submitting an HTTP request to a clustered application with several replicas.
Name | Description | Default value |
---|---|---|
kind |
See common annotations. | http-request-cluster |
http.cluster.strategy |
Name of the strategy used to send request (e.g. sequential , parallel , ...) |
N/A |
http.cluster.status |
Status of interaction with a cluster (e.g. success , no-replicas , ...) |
N/A |
http.request.targetService |
Name of the service to which request is sent. | N/A |
http.request.targetEnvironment |
Name of the environment to which request is sent. | N/A |
<br/>
HTTP server
Handling an HTTP request on server.
Name | Description | Default value |
---|---|---|
kind |
See common annotations. | http-request-server |
http.client.name |
Name of the client application that sent the request. | N/A |
http.client.address |
Address of the client application instance (host name or IP address). | N/A |
<br/> <br/>
Custom (not HTTP) requests
Common annotations for all spans related to custom requests:
Name | Description | Default value |
---|---|---|
operation |
See common annotations. | N/A |
status |
See common annotations. | N/A |
custom.response.status |
Custom request-specific status. | N/A |
custom.request.size |
Request size in bytes. | N/A |
custom.response.size |
Response size in bytes. | N/A |
custom.request.targetService |
Name of the service to which request is sent. | N/A |
custom.request.targetEnvironment |
Name of the environment to which request is sent. | N/A |
<br/>
Custom (not HTTP) client (direct)
Submitting custom request directly to a service replica.
Name | Description | Default value |
---|---|---|
kind |
See common annotations. | custom-request-client |
custom.request.replica |
Name of the replica to which request is sent. | N/A |
<br/>
Custom (not HTTP) client (cluster)
Submitting custom request to a clustered application with several replicas.
Name | Description | Default value |
---|---|---|
kind |
See common annotations. | custom-request-cluster |
<br/> <br/>
Custom operations
Performing custom server operation.
Name | Description | Default value |
---|---|---|
kind |
See common annotations. | custom-operation |
operation |
See common annotations. | N/A |
status |
See common annotations. | N/A |
custom.operation.status |
Custom operation-specific status. | N/A |
custom.operation.size |
Processed data size in bytes. | N/A |
custom.operation.targetService |
Name of the service with which this operation is associated. | {application} |
custom.operation.targetEnvironment |
Name of the environment with which this operation is associated. | {environment} |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (17)
Showing the top 5 NuGet packages that depend on Vostok.Tracing.Abstractions:
Package | Downloads |
---|---|
Vostok.Tracing.Extensions
This library contains a set of extensions for common case scenarios (such as HTTP request tracing). |
|
Vostok.Hosting
The entry point to create and launch Vostok-compatible services. |
|
Vostok.ZooKeeper.Client
An implementation of ZooKeeper client. |
|
Vostok.Hosting.Abstractions
Vostok.Hosting.Abstractions |
|
Vostok.Tracing.Hercules
An implementation of trace span sender based on Hercules client. Also provides mapping from Hercules events back to spans. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.9 | 835 | 12/9/2024 |
0.1.8-pre000021 | 9,407 | 9/14/2022 |
0.1.8-pre000020 | 13,357 | 7/28/2022 |
0.1.8-pre000019 | 1,977 | 3/28/2022 |
0.1.8-pre000018 | 189 | 12/30/2021 |
0.1.8-pre000017 | 183 | 12/30/2021 |
0.1.7 | 78,054 | 12/30/2021 |
0.1.7-pre000015 | 186 | 12/30/2021 |
0.1.7-pre000013 | 210 | 12/20/2021 |
0.1.7-pre000012 | 198 | 12/7/2021 |
0.1.6 | 23,292 | 12/7/2021 |
0.1.6-pre000010 | 205 | 12/6/2021 |
0.1.5 | 3,457 | 12/6/2021 |
0.1.5-pre000072 | 9,002 | 12/3/2020 |
0.1.5-pre000071 | 1,221 | 11/20/2020 |
0.1.5-pre000008 | 199 | 12/4/2021 |
0.1.5-pre000007 | 200 | 12/3/2021 |
0.1.5-pre000006 | 190 | 12/3/2021 |
0.1.5-pre000005 | 190 | 11/30/2021 |
0.1.5-pre000004 | 2,806 | 11/25/2021 |
0.1.5-pre000003 | 6,144 | 11/24/2021 |
0.1.5-pre000002 | 202 | 11/23/2021 |
0.1.5-pre000001 | 242 | 11/12/2021 |
0.1.4 | 110,678 | 11/20/2020 |
0.1.4-pre000066 | 6,483 | 6/17/2020 |
0.1.3 | 92,542 | 6/17/2020 |
0.1.3-pre000058 | 12,142 | 3/3/2020 |
0.1.3-pre000057 | 357 | 3/3/2020 |
0.1.2 | 76,361 | 3/3/2020 |
0.1.1 | 87,545 | 1/16/2020 |
0.1.1-pre000049 | 2,577 | 10/1/2019 |
0.1.1-pre000048 | 400 | 9/30/2019 |
0.1.1-pre000047 | 872 | 8/23/2019 |
0.1.1-pre000046 | 1,343 | 3/21/2019 |
0.1.0 | 97,614 | 3/21/2019 |
0.1.0-pre000044 | 439 | 3/21/2019 |
0.0.1-pre000043 | 1,061 | 1/16/2019 |
0.0.1-pre000042 | 1,367 | 9/27/2018 |
0.0.1-pre000041 | 607 | 9/27/2018 |
0.0.1-pre000040 | 1,487 | 9/14/2018 |
0.0.1-pre000039 | 643 | 9/14/2018 |
0.0.1-pre000038 | 830 | 9/13/2018 |
0.0.1-pre000037 | 656 | 9/13/2018 |
0.0.1-pre000036 | 655 | 9/12/2018 |
0.0.1-pre000035 | 619 | 9/12/2018 |
0.0.1-pre000034 | 644 | 9/12/2018 |
0.0.1-pre000033 | 632 | 9/12/2018 |
0.0.1-pre000032 | 646 | 9/12/2018 |
0.0.1-pre000031 | 716 | 9/10/2018 |
0.0.1-pre000030 | 736 | 9/7/2018 |
0.0.1-pre000029 | 669 | 9/7/2018 |
0.0.1-pre000028 | 675 | 9/7/2018 |
0.0.1-pre000027 | 690 | 9/7/2018 |
0.0.1-pre000026 | 660 | 9/7/2018 |
0.0.1-pre000025 | 637 | 9/4/2018 |
0.0.1-pre000024 | 632 | 9/4/2018 |
0.0.1-pre000023 | 695 | 9/4/2018 |
0.0.1-pre000022 | 687 | 9/4/2018 |
0.0.1-pre000021 | 629 | 8/30/2018 |
0.0.1-pre000020 | 614 | 8/30/2018 |
0.0.1-pre000019 | 652 | 8/30/2018 |
0.0.1-pre000018 | 627 | 8/30/2018 |
0.0.1-pre000017 | 616 | 8/30/2018 |
0.0.1-pre000016 | 670 | 8/30/2018 |
0.0.1-pre000015 | 767 | 8/26/2018 |
0.0.1-pre000014 | 741 | 8/24/2018 |
0.0.1-pre000013 | 729 | 8/24/2018 |
0.0.1-pre000012 | 685 | 8/23/2018 |
0.0.1-pre000011 | 668 | 8/23/2018 |
0.0.1-pre000010 | 667 | 8/22/2018 |
0.0.1-pre000009 | 842 | 8/21/2018 |
0.0.1-pre000008 | 775 | 8/21/2018 |
0.0.1-pre000007 | 758 | 8/20/2018 |
0.0.1-pre000006 | 1,043 | 8/20/2018 |
0.0.1-pre000005 | 703 | 8/20/2018 |
0.0.1-pre000004 | 914 | 8/17/2018 |
0.0.1-pre000003 | 674 | 8/17/2018 |
0.0.1-pre000002 | 683 | 8/16/2018 |
0.0.1-pre000001 | 706 | 8/16/2018 |