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" />
<PackageVersion Include="Vostok.Tracing.Abstractions" Version="0.1.9" />
<PackageReference Include="Vostok.Tracing.Abstractions" />
paket add Vostok.Tracing.Abstractions --version 0.1.9
#r "nuget: Vostok.Tracing.Abstractions, 0.1.9"
#:package Vostok.Tracing.Abstractions@0.1.9
#addin nuget:?package=Vostok.Tracing.Abstractions&version=0.1.9
#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 betweenEndTimestampandBeginTimestamp. - 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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 | 14,073 | 12/9/2024 |
| 0.1.8-pre000021 | 11,066 | 9/14/2022 |
| 0.1.8-pre000020 | 20,601 | 7/28/2022 |
| 0.1.8-pre000019 | 3,048 | 3/28/2022 |
| 0.1.8-pre000018 | 310 | 12/30/2021 |
| 0.1.8-pre000017 | 308 | 12/30/2021 |
| 0.1.7 | 109,237 | 12/30/2021 |
| 0.1.7-pre000015 | 307 | 12/30/2021 |
| 0.1.7-pre000013 | 323 | 12/20/2021 |
| 0.1.7-pre000012 | 309 | 12/7/2021 |
| 0.1.6 | 32,970 | 12/7/2021 |
| 0.1.6-pre000010 | 322 | 12/6/2021 |
| 0.1.5 | 4,056 | 12/6/2021 |
| 0.1.5-pre000072 | 10,624 | 12/3/2020 |
| 0.1.5-pre000071 | 1,662 | 11/20/2020 |
| 0.1.5-pre000008 | 318 | 12/4/2021 |
| 0.1.5-pre000007 | 311 | 12/3/2021 |
| 0.1.5-pre000006 | 296 | 12/3/2021 |
| 0.1.5-pre000005 | 315 | 11/30/2021 |
| 0.1.5-pre000004 | 2,918 | 11/25/2021 |
| 0.1.5-pre000003 | 6,254 | 11/24/2021 |
| 0.1.5-pre000002 | 322 | 11/23/2021 |
| 0.1.5-pre000001 | 370 | 11/12/2021 |
| 0.1.4 | 124,644 | 11/20/2020 |
| 0.1.4-pre000066 | 7,503 | 6/17/2020 |
| 0.1.3 | 103,715 | 6/17/2020 |
| 0.1.3-pre000058 | 12,685 | 3/3/2020 |
| 0.1.3-pre000057 | 500 | 3/3/2020 |
| 0.1.2 | 84,615 | 3/3/2020 |
| 0.1.1 | 91,771 | 1/16/2020 |
| 0.1.1-pre000049 | 2,809 | 10/1/2019 |
| 0.1.1-pre000048 | 547 | 9/30/2019 |
| 0.1.1-pre000047 | 1,117 | 8/23/2019 |
| 0.1.1-pre000046 | 1,718 | 3/21/2019 |
| 0.1.0 | 104,521 | 3/21/2019 |
| 0.1.0-pre000044 | 589 | 3/21/2019 |
| 0.0.1-pre000043 | 1,299 | 1/16/2019 |
| 0.0.1-pre000042 | 1,703 | 9/27/2018 |
| 0.0.1-pre000041 | 776 | 9/27/2018 |
| 0.0.1-pre000040 | 1,859 | 9/14/2018 |
| 0.0.1-pre000039 | 812 | 9/14/2018 |
| 0.0.1-pre000038 | 1,035 | 9/13/2018 |
| 0.0.1-pre000037 | 825 | 9/13/2018 |
| 0.0.1-pre000036 | 824 | 9/12/2018 |
| 0.0.1-pre000035 | 787 | 9/12/2018 |
| 0.0.1-pre000034 | 813 | 9/12/2018 |
| 0.0.1-pre000033 | 800 | 9/12/2018 |
| 0.0.1-pre000032 | 818 | 9/12/2018 |
| 0.0.1-pre000031 | 904 | 9/10/2018 |
| 0.0.1-pre000030 | 911 | 9/7/2018 |
| 0.0.1-pre000029 | 838 | 9/7/2018 |
| 0.0.1-pre000028 | 839 | 9/7/2018 |
| 0.0.1-pre000027 | 859 | 9/7/2018 |
| 0.0.1-pre000026 | 831 | 9/7/2018 |
| 0.0.1-pre000025 | 806 | 9/4/2018 |
| 0.0.1-pre000024 | 803 | 9/4/2018 |
| 0.0.1-pre000023 | 853 | 9/4/2018 |
| 0.0.1-pre000022 | 858 | 9/4/2018 |
| 0.0.1-pre000021 | 801 | 8/30/2018 |
| 0.0.1-pre000020 | 787 | 8/30/2018 |
| 0.0.1-pre000019 | 824 | 8/30/2018 |
| 0.0.1-pre000018 | 799 | 8/30/2018 |
| 0.0.1-pre000017 | 790 | 8/30/2018 |
| 0.0.1-pre000016 | 839 | 8/30/2018 |
| 0.0.1-pre000015 | 956 | 8/26/2018 |
| 0.0.1-pre000014 | 933 | 8/24/2018 |
| 0.0.1-pre000013 | 918 | 8/24/2018 |
| 0.0.1-pre000012 | 849 | 8/23/2018 |
| 0.0.1-pre000011 | 839 | 8/23/2018 |
| 0.0.1-pre000010 | 826 | 8/22/2018 |
| 0.0.1-pre000009 | 1,044 | 8/21/2018 |
| 0.0.1-pre000008 | 965 | 8/21/2018 |
| 0.0.1-pre000007 | 946 | 8/20/2018 |
| 0.0.1-pre000006 | 1,302 | 8/20/2018 |
| 0.0.1-pre000005 | 874 | 8/20/2018 |
| 0.0.1-pre000004 | 1,142 | 8/17/2018 |
| 0.0.1-pre000003 | 845 | 8/17/2018 |
| 0.0.1-pre000002 | 852 | 8/16/2018 |
| 0.0.1-pre000001 | 875 | 8/16/2018 |