Skip to content

Commit b3935d8

Browse files
authored
Create Telemetry.md (#586)
* Create Telemetry.md * Fix typo
1 parent 90af428 commit b3935d8

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

docs/Telemetry.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Telemetry reporting in the .NET SDK Container tools
2+
3+
Starting in .NET SDK 8.0.400, the Container tooling collects and sends usage telemetry about how the tools are used.
4+
This is in addition to the [telemetry sent by the CLI](https://learn.microsoft.com/en-us/dotnet/core/tools/telemetry), but uses the same mechanisms and, importantly, adheres to the same [opt-out](https://learn.microsoft.com/en-us/dotnet/core/tools/telemetry#how-to-opt-out) controls.
5+
6+
The telemetry we gather is intended to be general in nature and not leak any personal information - we intend to use this telemetry to help us measure
7+
* usage of the SDK Containerization feature overall
8+
* success and failure rates, along with general information about what kinds of failures happen most frequently
9+
* usage of specific features of the tech, like publishing to various registry kinds, or how the publish was invoked
10+
11+
## Inference telemetry
12+
13+
We log the following information about how the base image inference process occcurred:
14+
15+
| Data Point | Explanation | Sample value |
16+
| - | - | - |
17+
| InferencePerformed | If users are manually specifying base images vs making use of inference. | true |
18+
| TargetFramework | The TargetFramework chosen when doing base image inference. | net8.0 |
19+
| BaseImage | The value of the base image chosen, but only if that base image is one of the Microsoft-produced images. If a user specifies any image other than the Microsoft-produced images on mcr.microsoft.com, this value is null. | mcr.microsoft.com/dotnet/aspnet |
20+
| BaseImageTag | The value of the tag chosen, but only if that tag is for one of the Microsoft-produced images. If a user specifies any image other than the Microsoft-produced images on mcr.microsoft.com, this value is null. | 8.0 |
21+
| ContainerFamily | The value of the `ContainerFamily` property if a user used the ContainerFamily feature to pick a 'flavor' of one of our base images. This is only set if the user picked or inferred one of the Microsoft-produced .NET images from mcr.microsoft.com | jammy-chiseled |
22+
| ProjectType | What kind of project was containerized | AspNetCore or Console |
23+
| PublishMode | How the application was packaged | Aot, Trimmed, SelfContained, or FrameworkDependent |
24+
| IsInvariant | If the image chosen requires invariant globalization or the user opted into it manually | true |
25+
| TargetRuntime | The RID that this application was published for | linux-x64 |
26+
27+
## Image creation telemetry
28+
29+
We log the following information about how the container creation and publishing process occurred:
30+
31+
| Data Point | Explanation | Sample value |
32+
| - | - | - |
33+
| RemotePullType | If the base image came from a remote registry, what kind of registry was it? | Azure, AWS, Google, GitHub, DockerHub, MRC, or Other |
34+
| LocalPullType | If the base image came from a local source, like a container daemon or a tarball. Note - the container tools currently do not support using local sources for base images, this information is added looking forward to that future feature. | Docker, Podman, Tarball |
35+
| RemotePushType | If the image was pushed to a remote registry, what kind of registry was it? | Azure, AWS, Google, GitHub, DockerHub, MRC, or Other |
36+
| LocalPushType | If the image was pushed to a local destination, what was it? | Docker, Podman, Tarball |
37+
38+
In addition, if various kinds of errors occur during the process we collect data about what kind of error it was:
39+
40+
| Data Point | Explanation | Sample value |
41+
| - | - | - |
42+
| Error | The kind of error that occurred | unknown_repository, credential_failure, rid_mismatch, local_load - there are more kinds of errors but we expect the kinds to grow over time |
43+
| Direction | If the error is a credential_failure, was it to the push or pull registry? | push |
44+
| Target RID | If the error was a rid_mismatch, what RID was requested | linux-x64 |
45+
| Available RIDs | If the error was a rid_mismatch, what RIDs did the base image support? | linux-x64,linux-arm64 |

0 commit comments

Comments
 (0)