Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seniorquico/orleans.telemetryconsumers.ecs
Provides Microsoft Orleans host environment statistics for AWS Elastic Container Service (ECS)
https://github.com/seniorquico/orleans.telemetryconsumers.ecs
aws aws-ecs aws-fargate ecs fargate orleans
Last synced: 2 months ago
JSON representation
Provides Microsoft Orleans host environment statistics for AWS Elastic Container Service (ECS)
- Host: GitHub
- URL: https://github.com/seniorquico/orleans.telemetryconsumers.ecs
- Owner: seniorquico
- License: mit
- Created: 2019-07-11T00:35:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-03-27T04:57:29.000Z (almost 3 years ago)
- Last Synced: 2024-08-09T01:33:30.610Z (5 months ago)
- Topics: aws, aws-ecs, aws-fargate, ecs, fargate, orleans
- Language: C#
- Homepage:
- Size: 80.1 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Orleans Host Environment Statistics for AWS Elastic Container Service (ECS)
[![GitHub build status](https://github.com/seniorquico/Orleans.TelemetryConsumers.ECS/workflows/Continuous%20Integration/badge.svg)](https://github.com/seniorquico/Orleans.TelemetryConsumers.ECS/actions) [![codecov test status](https://codecov.io/gh/seniorquico/Orleans.TelemetryConsumers.ECS/branch/master/graph/badge.svg)](https://codecov.io/gh/seniorquico/Orleans.TelemetryConsumers.ECS) [![NuGet package version](https://img.shields.io/nuget/v/Orleans.TelemetryConsumers.ECS.svg?style=flat)](http://www.nuget.org/packages/Orleans.TelemetryConsumers.ECS/) [![MIT license](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/seniorquico/Orleans.TelemetryConsumers.ECS/blob/master/LICENSE) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dotnet/orleans?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
Provides [Microsoft Orleans](https://dotnet.github.io/orleans/index.html) host environment statistics (an `IHostEnvironmentStatistics` implementation) for [AWS Elastic Container Service (ECS)](https://aws.amazon.com/ecs/). This enables load shedding when silos are overloaded and silo metrics (CPU and memory) in the [Orleans Dashboard](https://github.com/OrleansContrib/OrleansDashboard).
This implementation relies on the [ECS Task Metadata Endpoint V3](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v3.html). This endpoint is available to all tasks running on the following AWS platforms:
- EC2 launch type with container agent version 1.21.0 or later
- Fargate launch type on platform version 1.3.0 or laterThis endpoint may also be made available to containers running locally (for development and testing purposes) using the [Amazon ECS Local Container Endpoints](https://github.com/awslabs/amazon-ecs-local-container-endpoints).
## Installation
This is published as a Nuget package and depends on Orleans 3.0 (or greater).
### PackageReference
```xml
```
### Package Manager
```powershell
Install-Package Orleans.TelemetryConsumers.ECS -Version 1.0.0
```### NuGet CLI
```shell
dotnet add package Orleans.TelemetryConsumers.ECS --version 1.0.0
```### Paket CLI
```shell
paket add Orleans.TelemetryConsumers.ECS --version 1.0.0
```## Usage
First, ensure your ECS tasks are running on a supported platform (see the introduction for EC2 and Fargate platform requirements). If running on an unsupported platform, the host environment statistics will be unavailable.
Second, register the ECS `IHostEnvironmentStatistics` implementation and its dependencies:
```c#
new SiloHostBuilder()
.UseEcsTaskHostEnvironmentStatistics()
.Build();
```