.NET 및 .NET Core 호환성 요구사항 (.NET and .NET Core Compatibility Requirements)
Datadog .NET Tracer가 지원하는 .NET·.NET Core 런타임, 운영체제, 자동 계측 라이브러리 목록이에요.
출처: 문서
본문
Datadog .NET Tracer는 모든 .NET 기반 언어(예: C#, F#, Visual Basic)를 지원해요. trimmed 앱에 대한 미리 보기(Preview) 지원이 있어요.
.NET Tracer는 오픈소스예요. 자세한 내용은 .NET Tracer 저장소를 참고하세요.
지원되는 .NET·.NET Core 런타임
.NET Tracer는 다음 .NET·.NET Core 버전에서 자동 계측을 지원해요. 또한 .NET Framework를 지원해요.
| .NET 버전 | Microsoft 수명 종료 | 지원 수준 | 패키지 버전 |
|---|---|---|---|
| .NET 10 | 2028년 11월 14일 | GA | latest (>= 3.31.0) |
| .NET 9 | 2026년 11월 10일 | GA | latest (>= 3.6.0) |
| .NET 8 | 2026년 11월 10일 | GA | latest (>= 2.42.0) |
| .NET 7 | 2024년 5월 14일 | GA | latest (>= 2.20.0) |
| .NET 6 | 2024년 11월 12일 | GA | latest (>= 2.0.0) |
| .NET 5 | 2022년 5월 10일 | GA | latest (>= 2.0.0) |
| .NET Core 3.1 | 2022년 12월 13일 | GA | latest |
| .NET Core 3.0 | 2020년 3월 3일 | EOL | 권장하지 않음 |
| .NET Core 2.2 | 2019년 12월 23일 | EOL | 권장하지 않음 |
| .NET Core 2.1 | 2021년 8월 21일 | EOL | 권장하지 않음 |
| .NET Core 2.0 | 2018년 10월 1일 | EOL | 권장하지 않음 |
추가 정보는 Microsoft의 .NET·.NET Core 수명 주기 정책, 수명 종료 .NET 런타임 버전, .NET 런타임 지원 정책에서 확인할 수 있어요.
지원되는 운영 체제 (Supported operating systems)
.NET Tracer는 Windows와 Linux 운영체제에서 .NET·.NET Core 애플리케이션의 자동 계측을 지원해요. macOS는 CI 테스트 최적화(Test Optimization) 전용으로 지원해요. .NET·.NET Core가 지원하는 운영체제에 대한 추가 정보는 .NET 릴리스 노트에서 확인할 수 있어요.
Windows
| 운영체제 | 버전 | 지원 수준 | 패키지 버전 |
|---|---|---|---|
| Windows Server | 2012+ | GA | latest |
| Windows Client | 8.1+ | GA | latest |
| Windows Server (x86) | 모든 버전 | EOL | < 3.0.0 (예: 2.48.0) |
| Windows Server | < 2012 | EOL | < 3.0.0 (예: 2.48.0) |
참고: "Windows Server"는 모든 에디션과 설치 옵션을 포함해요.
- 에디션: Datacenter, Standard, Essentials 등.
- 설치 옵션: Server Core, Server with Desktop Experience, Nano Server(컨테이너 이미지 전용).
32비트(x86) 애플리케이션의 계측은 64비트(x64) Windows에서 지원돼요. Windows on ARM64는 지원되지 않아요.
Linux
.NET Tracer는 최소 libc 버전 호환성을 기준으로 Linux 배포판을 최선의 노력(best-effort)으로 지원해요.
- x64: glibc 2.17 (CentOS 7부터)
- arm64: glibc 2.23 (Debian 10부터)
- Alpine x64: musl 1.2.2 (Alpine 3.14부터)
- Alpine arm64: musl 1.2.4 (Alpine 3.18부터)
| 운영체제 | 버전 | 아키텍처 | 지원 수준 | 패키지 버전 |
|---|---|---|---|---|
| Alpine Linux (x64) | 3.14+ | x64 | GA | latest (.NET 5+ 전용, v1.27.0+) |
| Alpine Linux (arm64) | 3.18+ | arm64 | GA | latest (.NET 6+ 전용, v3.2.0+) |
| CentOS Linux | 7+ | x64 | Maintenance | latest (v4.0.0에서 EOL) |
| CentOS Stream Linux | 8 | x64 | Maintenance | latest (v4.0.0에서 EOL) |
| Debian | 10+ | x64, arm64 | GA | latest |
| Fedora | 29+ | x64 | GA | latest |
| openSUSE | 15+ | x64 | GA | latest |
| Red Hat Enterprise Linux | 7+ | x64 | GA | latest |
| Ubuntu | 18.04+ | x64, arm64 | GA | latest |
macOS
.NET Tracer는 CI 테스트 최적화(Test Optimization) 전용으로 macOS를 지원해요.
| 운영체제 | 버전 | 아키텍처 | 지원 수준 | 패키지 버전 |
|---|---|---|---|---|
| macOS | 14.0+ | x64, arm64 | GA | latest |
| macOS | 11.0 | x64 | EOL | < 3.0.0 |
| macOS | 11.0 | arm64 | EOL | < 3.0.0 (2.20.0에서 추가) |
통합 (Integrations)
최신 .NET Tracer 버전은 다음 라이브러리를 자동 계측할 수 있어요.
| 프레임워크 또는 라이브러리 | NuGet 패키지 | 통합 이름 |
|---|---|---|
| ADO.NET | 모든 AdoNet 통합 | AdoNet |
| Aerospike | Aerospike.Client 4.0.0+ |
Aerospike |
| ASP.NET Core | Microsoft.AspNetCore``Microsoft.AspNetCore.App2.0+ 및 3.0+ |
AspNetCore |
| Azure Functions | Microsoft.Azure.Webjobs 3.0+ |
AzureFunctions |
| Amazon DynamoDB | AWSSDK.DynamoDBv2 3.0+ |
AwsDynamoDb |
| Amazon Kinesis | AWSSDK.Kinesis 3.0+ |
AwsKinesis |
| Amazon SNS | AWSSDK.SNS 3.0+ |
AwsSns |
| Amazon SQS | AWSSDK.SQS 3.0+ |
AwsSqs |
| Azure Cosmos DB | Microsoft.Azure.Cosmos 3.6.0+ |
CosmosDb |
| Azure Event Hubs | Azure.Messaging.EventHubs 5.9.2+ |
AzureEventHubs |
| Azure Service Bus | Azure.Messaging.ServiceBus 7.14+ |
AzureServiceBus |
| Couchbase | CouchbaseNetClient 2.2.8+ |
Couchbase |
| Elasticsearch | Elasticsearch.Net 5.3.0+ |
ElasticsearchNet |
| GraphQL .NET | GraphQL 2.3.0+ |
GraphQL |
| gRPC | Grpc.Net.Client2.30.0+ (.NET Core 3.0+ 전용)Grpc.Core 2.30.0+Grpc.AspNetCore 2.30.0+ |
Grpc |
| HotChocolate | HotChocolate 11.0.0+ |
HotChocolate |
| HttpClient / HttpMessageHandler | System.Net.Http 4.0+ |
HttpMessageHandler |
| Kafka | Confluent.Kafka 1.4+ |
Kafka |
| IBM MQ | amqmdnetstd 9.0.0+ |
IbmMq |
| MongoDB | MongoDB.Driver.Core 2.1.0+ |
MongoDb |
| MySql | MySql.Data 6.7.0+MySqlConnector 0.61.0+ |
MySql |
| Oracle | Oracle.ManagedDataAccess 4.122.0+ |
Oracle |
| PostgreSQL | Npgsql 4.0+ |
Npgsql |
| Process | System.Diagnostics.Process 4.0+ |
Process |
| RabbitMQ | RabbitMQ.Client 3.6.9+ . |
RabbitMQ |
| Redis (ServiceStack 클라이언트) | ServiceStack.Redis 4.0.48+ |
ServiceStackRedis |
| Redis (StackExchange 클라이언트) | StackExchange.Redis 1.0.187+ |
StackExchangeRedis |
| Service Fabric Remoting | Microsoft.ServiceFabric.Services.Remoting 4.0.470+ |
ServiceRemoting |
| SQLite | System.Data.Sqlite 2.0.0+Microsoft.Data.Sqlite 1.0.0+ |
Sqlite |
| SQL Server | System.Data 4.0.0+System.Data.SqlClient 4.0.0+Microsoft.Data.SqlClient 1.0.0+ |
SqlClient |
| WebClient / WebRequest | System.Net.Requests 4.0+ |
WebRequest |
참고: Redis 6.0+는 HELLO, MIGRATE, ACL SETUSER 같은 명령에서 인라인 인증을 지원해요.
- Datadog Trace Agent: 인증 매개변수가 트레이스 메타데이터에서 자동으로 난독화되도록 최소 필수·권장 버전은
7.76.1이에요. - Datadog Lambda Extension (Serverless 환경): 최소 필수 버전은
v28.0.0이에요.
원하는 라이브러리가 없나요? 먼저 라이브러리가 OpenTelemetry와 호환되는 관측성 데이터를 생성하는지 확인하세요(자세한 내용은 OpenTelemetry 계측 라이브러리 사용 참고). 아니라면 Datadog이 지속적으로 지원을 추가하고 있어요. Datadog 팀에 문의해 도움을 받으세요.
수명 종료 .NET 런타임 버전 (End of life .NET runtime versions)
.NET Tracer는 .NET Core 2.0, 2.1, 2.2, 3.0, 3.1과 .NET 5, 7에서 동작하지만, 이 버전은 수명 종료에 도달해 Microsoft가 더 이상 지원하지 않아요. 자세한 내용은 Microsoft의 지원 정책을 참고하세요. Datadog은 .NET 6 또는 .NET 8의 최신 패치 버전을 사용할 것을 권장해요. 구버전 .NET·.NET Core는 자동 계측 활성화 시 다음 런타임 문제가 발생할 수 있어요.
| 문제 | 영향받는 .NET 버전 | 해결책 | 추가 정보 |
|---|---|---|---|
| Linux/x64의 JIT 컴파일러 버그 | 2.0.x,2.1.0-2.1.11,2.2.0-2.2.5 | .NET Core를 최신 패치 버전으로 업그레이드하거나 연결된 이슈의 단계를 따르세요 | DataDog/dd-trace-dotnet/issues/302 |
en-US이 아닌 로케일의 리소스 조회 버그 |
2.0.0 | .NET Core를 2.0.3 이상으로 업그레이드하세요 | dotnet/runtime/issues/23938 |
| 종료 시 크래시를 일으키는 JIT 컴파일러 버그 | 2.0.0-2.2.x | .NET Core를 3.1.0 이상으로 업그레이드하세요 | dotnet/runtime/pull/11885 |
| JIT 컴파일러 버그 | 2.x, 3.x, 5.x, 6.x, 7.x, 8.0.0-8.0.5 | .NET을 8.0.6 이상으로 업그레이드하세요 | dotnet/runtime/pull/73760 |
| JIT 컴파일러 버그 | 모든 .NET 버전 | 현재 해결 방법 없음 | dotnet/runtime/issues/85777 |
| 런타임 메트릭 사용 시 크래시를 일으키는 .NET 런타임 버그 | 6.0.0-6.0.10 | .NET 6.0.11 이상으로 업그레이드하거나 런타임 메트릭을 비활성화하세요 | dotnet/runtime/pull/76431 |
| 크래시를 일으키는 JIT 컴파일러 버그 | 2.x, 3.x, 5.x, 6.x, 7.x, 8.x | .NET을 9.0.0 이상으로 업그레이드하세요 | dotnet/runtime/pull/95653 |
| 크래시를 일으키는 JIT 컴파일러 버그 | 2.x, 3.x, 5.x, 6.x, 7.x, 8.x, 9.x, 10.x | 현재 해결 방법 없음 | dotnet/runtime/issues/127957 |
지원되는 Datadog Agent 버전
| Datadog Agent 버전 | 패키지 버전 |
|---|---|
| 7.x | Latest |
| 6.x | Latest |
| 5.x | Latest |
.NET 런타임 지원 정책 (.NET runtime support policy)
.NET Tracer는 호스트 운영체제, .NET 런타임, 특정 .NET 라이브러리, Datadog Agent/API에 의존해요. 이 서드파티 소프트웨어 시스템은 특정 .NET·.NET Core 버전을 지원해요. 외부 소프트웨어가 특정 .NET 버전을 더 이상 지원하지 않으면, .NET Tracer도 해당 버전에 대한 지원을 제한해요.
지원 수준 (Levels of support)
| 수준 | 제공되는 지원 |
|---|---|
| 지원 안 함 (Unsupported) | 구현 없음. 특별 요청은 고객 지원에 문의하세요. |
| 미리 보기 (Preview) | 초기 구현. 아직 모든 기능을 포함하지 않을 수 있어요. 새 기능·버그·보안 수정 지원은 최선의 노력으로 제공돼요. |
| 일반 공급 (GA) | 모든 기능의 전체 구현. 새 기능·버그·보안 수정에 대한 완전한 지원. |
| 유지보수 (Maintenance) | 기존 기능의 전체 구현. 새 기능은 받지 않아요. 버그·보안 수정 지원만. |
| 수명 종료 (EOL) | 지원 없음. |
패키지 버전 관리 (Package versioning)
.NET Tracer는 시맨틱 버전 관리를 실천해요. 버전 업데이트는 런타임 지원에 다음 변경을 의미해요.
- 메이저 버전 업데이트(예:
1.0.0→2.0.0)는 모든 런타임의 지원을 Preview/GA에서 Maintenance/EOL로 바꿀 수 있어요. - 마이너 버전 업데이트(예:
1.0.0→1.1.0)는 한 런타임의 지원 수준을 낮추지 않지만 하나를 추가할 수 있어요. - 패치 버전 업데이트(예:
1.0.0→1.0.1)는 어떤 런타임의 지원도 변경하지 않아요.
더 알아보기 (Learn more)
도움이 되는 추가 문서, 링크, 글: