Skip to content

Commit 17781b8

Browse files
authored
Kubediag (#1991)
1 parent dab8ab1 commit 17781b8

File tree

14 files changed

+73
-205
lines changed

14 files changed

+73
-205
lines changed

ProtoActor.sln

+15
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proto.Cluster.AzureContaine
272272
EndProject
273273
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proto.Cluster.SeedNode.Redis", "src\Proto.Cluster.SeedNode.Redis\Proto.Cluster.SeedNode.Redis.csproj", "{BDB67DAB-12F8-4D9F-BF7E-9F5D9E723816}"
274274
EndProject
275+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KubernetesDiagnostics", "benchmarks\KubernetesDiagnostics\KubernetesDiagnostics.csproj", "{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}"
276+
EndProject
275277
Global
276278
GlobalSection(SolutionConfigurationPlatforms) = preSolution
277279
Debug|Any CPU = Debug|Any CPU
@@ -1374,6 +1376,18 @@ Global
13741376
{BDB67DAB-12F8-4D9F-BF7E-9F5D9E723816}.Release|x64.Build.0 = Release|Any CPU
13751377
{BDB67DAB-12F8-4D9F-BF7E-9F5D9E723816}.Release|x86.ActiveCfg = Release|Any CPU
13761378
{BDB67DAB-12F8-4D9F-BF7E-9F5D9E723816}.Release|x86.Build.0 = Release|Any CPU
1379+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1380+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
1381+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Debug|x64.ActiveCfg = Debug|Any CPU
1382+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Debug|x64.Build.0 = Debug|Any CPU
1383+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Debug|x86.ActiveCfg = Debug|Any CPU
1384+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Debug|x86.Build.0 = Debug|Any CPU
1385+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
1386+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Release|Any CPU.Build.0 = Release|Any CPU
1387+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Release|x64.ActiveCfg = Release|Any CPU
1388+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Release|x64.Build.0 = Release|Any CPU
1389+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Release|x86.ActiveCfg = Release|Any CPU
1390+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5}.Release|x86.Build.0 = Release|Any CPU
13771391
EndGlobalSection
13781392
GlobalSection(SolutionProperties) = preSolution
13791393
HideSolutionNode = FALSE
@@ -1500,6 +1514,7 @@ Global
15001514
{E56413ED-8205-4AC1-A7CE-24A2C1711F54} = {9AA2BCF0-19AB-4DD9-8D91-7D188E463806}
15011515
{4DF9BBFF-C480-4550-B2BA-6603DAE6BC6F} = {3D12F5E5-9774-4D7E-8A5B-B1F64544925B}
15021516
{BDB67DAB-12F8-4D9F-BF7E-9F5D9E723816} = {3D12F5E5-9774-4D7E-8A5B-B1F64544925B}
1517+
{5FECD1A8-A873-4927-81C3-E5C5A37D80C5} = {0F3AB331-C042-4371-A2F0-0AFDFA13DC9F}
15031518
EndGlobalSection
15041519
GlobalSection(ExtensibilityGlobals) = postSolution
15051520
SolutionGuid = {CD0D1E44-8118-4682-8793-6B20ABFA824C}

benchmarks/KubernetesDiagnostics/.dockerignore

-25
This file was deleted.

benchmarks/KubernetesDiagnostics/Dockerfile

-18
This file was deleted.

benchmarks/KubernetesDiagnostics/Dockerfile-amd64

-18
This file was deleted.

benchmarks/KubernetesDiagnostics/KubernetesDiagnostics.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<ItemGroup>
1010
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" />
11-
<PackageReference Include="Microsoft.NET.Build.Containers" Version="0.1.8" />
11+
<PackageReference Include="Microsoft.NET.Build.Containers" Version="0.4.0" />
1212
</ItemGroup>
1313

1414
<ItemGroup>

benchmarks/KubernetesDiagnostics/Program.cs

+5-18
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public static async Task Main()
3333
var log = Log.CreateLogger("main");
3434

3535
var identity = new PartitionIdentityLookup(TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(2)
36-
); // new IdentityStorageLookup(GetRedisId("MyCluster"));
36+
);
3737

3838
/*
3939
- name: "REDIS"
@@ -57,10 +57,7 @@ public static async Task Main()
5757

5858
var noOpsProps = Props.FromFunc(ctx => Task.CompletedTask);
5959
var echoKind = new ClusterKind("echo", noOpsProps);
60-
var system = new ActorSystem(new ActorSystemConfig()
61-
// .WithDeveloperReceiveLogging(TimeSpan.FromSeconds(1))
62-
// .WithDeveloperSupervisionLogging(true)
63-
)
60+
var system = new ActorSystem(new ActorSystemConfig())
6461
.WithRemote(GrpcNetRemoteConfig
6562
.BindTo(host, port)
6663
.WithAdvertisedHost(advertisedHost)
@@ -72,21 +69,13 @@ public static async Task Main()
7269
.WithClusterKind(echoKind)
7370
);
7471

75-
system.EventStream.Subscribe<GossipUpdate>(e => { Console.WriteLine($"{DateTime.Now:O} Gossip update Member {e.MemberId} Key {e.Key}"); }
76-
);
72+
// system.EventStream.Subscribe<GossipUpdate>(e => { Console.WriteLine($"{DateTime.Now:O} Gossip update Member {e.MemberId} Key {e.Key}"); });
7773

7874
system.EventStream.Subscribe<ClusterTopology>(e => {
79-
var members = e.Members;
80-
var x = members.Select(m => m.Id).OrderBy(i => i).ToArray();
81-
var key = string.Join("", x);
82-
var hash = MurmurHash2.Hash(key);
8375

84-
Console.WriteLine($"{DateTime.Now:O} My members {hash}");
76+
var hash = e.TopologyHash;
8577

86-
// foreach (var member in members.OrderBy(m => m.Id))
87-
// {
88-
// Console.WriteLine(member.Id + "\t" + member.Address + "\t" + member.Kinds);
89-
// }
78+
Console.WriteLine($"{DateTime.Now:O} My members {hash}");
9079
}
9180
);
9281

@@ -105,8 +94,6 @@ await system
10594

10695
while (!cts.IsCancellationRequested)
10796
{
108-
// var res = await system.Cluster().MemberList.TopologyConsensus(CancellationTokens.FromSeconds(5));
109-
11097
var m = system.Cluster().MemberList.GetAllMembers();
11198
var hash = Member.TopologyHash(m);
11299

benchmarks/KubernetesDiagnostics/build-amd64.sh

-4
This file was deleted.
+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
docker login
12
kubectl delete --filename service.yaml
2-
dotnet publish --os linux -c Release --arch x64 -p:PublishProfile=DefaultContainer
3+
dotnet publish --os linux -c Release --arch arm64 -p:PublishProfile=DefaultContainer
4+
docker tag kubernetesdiagnostics:1.0.0 rogeralsing/kubediag
5+
docker push rogeralsing/kubediag
36
kubectl apply --filename service.yaml

benchmarks/KubernetesDiagnostics/service-amd64.yaml

-86
This file was deleted.

benchmarks/KubernetesDiagnostics/service.yaml

+20-16
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: my-namespace
5+
---
6+
apiVersion: v1
27
kind: ServiceAccount
38
metadata:
49
name: proto-cluster
10+
namespace: my-namespace
511
---
612
apiVersion: rbac.authorization.k8s.io/v1
713
kind: Role
814
metadata:
915
name: proto-cluster
10-
labels:
11-
app: kubdiag
16+
namespace: my-namespace
1217
rules:
1318
- apiGroups:
1419
- ""
1520
resources:
16-
- endpoints
1721
- pods
18-
- services
19-
- services/status
2022
verbs:
2123
- get
2224
- list
@@ -28,7 +30,8 @@ kind: RoleBinding
2830
metadata:
2931
name: proto-cluster
3032
labels:
31-
app: kubdiag
33+
app: kubediag
34+
namespace: my-namespace
3235
roleRef:
3336
apiGroup: rbac.authorization.k8s.io
3437
kind: Role
@@ -40,37 +43,38 @@ subjects:
4043
apiVersion: v1
4144
kind: Service
4245
metadata:
43-
name: testing
46+
name: kubediag
4447
labels:
45-
app: kubdiag
48+
app: kubediag
49+
namespace: my-namespace
4650
spec:
4751
ports:
4852
- port: 8080
4953
name: protoactor
5054
selector:
51-
app: kubdiag
55+
app: kubediag
5256
---
5357
apiVersion: apps/v1
5458
kind: Deployment
5559
metadata:
56-
name: diagapp
60+
name: kubediag
61+
namespace: my-namespace
5762
spec:
5863
replicas: 3
5964
selector:
6065
matchLabels:
61-
app: kubdiag
66+
app: kubediag
6267
template:
6368
metadata:
6469
labels:
65-
app: kubdiag
70+
app: kubediag
6671
version: v1
6772
spec:
6873
serviceAccountName: proto-cluster
6974
containers:
70-
- name: kubdiag
71-
# there is nothing sensitive in here, its just a diagnostics app
72-
image: rogeralsing/kubdiagg:default2
73-
imagePullPolicy: Never
75+
- name: kubediag
76+
image: rogeralsing/kubediag:latest
77+
imagePullPolicy: Always
7478
ports:
7579
- containerPort: 8080
7680
env:

service.yaml

-4
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ spec:
3737
value: "8080"
3838
- name: PROTOHOST
3939
value: "0.0.0.0"
40-
- name: "MONGO"
41-
value: "mongodb://mongo"
4240
- name: "PROTOHOSTPUBLIC"
4341
valueFrom:
4442
fieldRef:
@@ -70,8 +68,6 @@ spec:
7068
value: "8080"
7169
- name: PROTOHOST
7270
value: "0.0.0.0"
73-
- name: "MONGO"
74-
value: "mongodb://mongo"
7571
- name: "PROTOHOSTPUBLIC"
7672
valueFrom:
7773
fieldRef:

src/Proto.Actor/Logging/Log.cs

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// </copyright>
55
// -----------------------------------------------------------------------
66

7+
using System;
78
using JetBrains.Annotations;
89
using Microsoft.Extensions.Logging;
910
using Proto.Logging;
@@ -44,5 +45,6 @@ public static class Log
4445
/// </summary>
4546
/// <typeparam name="T"></typeparam>
4647
/// <returns></returns>
48+
[Obsolete("Inject ILogger<T> instead", false)]
4749
public static ILogger CreateLogger<T>() => _loggerFactory.CreateLogger<T>();
4850
}

0 commit comments

Comments
 (0)