Add a Prometheus handler. (#591)

* Add a Prometheus handler.

* Address comments
This commit is contained in:
Brendan Burns
2021-04-09 08:53:05 -07:00
committed by GitHub
parent 17a89f2939
commit 7d66489cb4
6 changed files with 224 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
using System;
using System.Net.Http;
using System.Threading;
using k8s;
using k8s.Monitoring;
using Prometheus;
namespace prom
{
internal class Prometheus
{
private static void Main(string[] args)
{
var config = KubernetesClientConfiguration.BuildDefaultConfig();
var handler = new PrometheusHandler();
IKubernetes client = new Kubernetes(config, new DelegatingHandler[] { handler });
var server = new MetricServer(hostname: "localhost", port: 1234);
server.Start();
Console.WriteLine("Making requests!");
while (true)
{
client.ListNamespacedPod("default");
client.ListNode();
client.ListNamespacedDeployment("default");
Thread.Sleep(1000);
}
}
}
}

View File

@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="..\..\src\KubernetesClient\KubernetesClient.csproj" />
</ItemGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5</TargetFramework>
</PropertyGroup>
</Project>