Skip to content

Commit 3e82a7f

Browse files
authored
Merge branch 'main' into infoplat-2449-otelzap-logger-add-telemetry-log-level
2 parents 15bcf41 + c381b51 commit 3e82a7f

File tree

23 files changed

+809
-92
lines changed

23 files changed

+809
-92
lines changed

observability-lib/README.md

Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -32,56 +32,60 @@ Godoc generated documentation is available [here](https://pkg.go.dev/github.com/
3232
```go
3333
package main
3434

35-
import "github.com/smartcontractkit/chainlink-common/observability-lib/grafana"
35+
import (
36+
"fmt"
37+
"github.com/grafana/grafana-foundation-sdk/go/common"
38+
"github.com/smartcontractkit/chainlink-common/observability-lib/grafana"
39+
)
3640

3741
func main() {
3842
builder := grafana.NewBuilder(&grafana.BuilderOptions{
39-
Name: "Dashboard Name",
40-
Tags: []string{"tags1", "tags2"},
41-
Refresh: "30s",
42-
TimeFrom: "now-30m",
43-
TimeTo: "now",
43+
Name: "Dashboard Name",
44+
Tags: []string{"tags1", "tags2"},
45+
Refresh: "30s",
46+
TimeFrom: "now-30m",
47+
TimeTo: "now",
4448
})
45-
49+
4650
builder.AddVars(grafana.NewQueryVariable(&grafana.QueryVariableOptions{
47-
VariableOption: &grafana.VariableOption{
48-
Label: "Environment",
49-
Name: "env",
50-
},
51-
Datasource: "Prometheus",
52-
Query: `label_values(up, env)`,
51+
VariableOption: &grafana.VariableOption{
52+
Label: "Environment",
53+
Name: "env",
54+
},
55+
Datasource: "Prometheus",
56+
Query: `label_values(up, env)`,
5357
}))
54-
58+
5559
builder.AddRow("Summary")
56-
60+
5761
builder.AddPanel(grafana.NewStatPanel(&grafana.StatPanelOptions{
58-
PanelOptions: &grafana.PanelOptions{
59-
Datasource: "Prometheus",
60-
Title: "Uptime",
61-
Description: "instance uptime",
62-
Span: 12,
63-
Height: 4,
64-
Decimals: 2,
65-
Unit: "s",
66-
Query: []grafana.Query{
67-
{
68-
Expr: `uptime_seconds`,
69-
Legend: `{{ pod }}`,
70-
},
71-
},
72-
},
73-
ColorMode: common.BigValueColorModeNone,
74-
TextMode: common.BigValueTextModeValueAndName,
75-
Orientation: common.VizOrientationHorizontal,
62+
PanelOptions: &grafana.PanelOptions{
63+
Datasource: "Prometheus",
64+
Title: grafana.Pointer("Uptime"),
65+
Description: "instance uptime",
66+
Span: 12,
67+
Height: 4,
68+
Decimals: grafana.Pointer(2.),
69+
Unit: "s",
70+
Query: []grafana.Query{
71+
{
72+
Expr: `uptime_seconds`,
73+
Legend: `{{ pod }}`,
74+
},
75+
},
76+
},
77+
ColorMode: common.BigValueColorModeNone,
78+
TextMode: common.BigValueTextModeValueAndName,
79+
Orientation: common.VizOrientationHorizontal,
7680
}))
77-
81+
7882
db, err := builder.Build()
7983
if err != nil {
80-
return nil, err
84+
return
8185
}
8286
json, err := db.GenerateJSON()
8387
if err != nil {
84-
return nil, err
88+
return
8589
}
8690
fmt.Println(string(json))
8791
}

pkg/capabilities/capabilities.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,11 @@ type RequestMetadata struct {
106106
// Use DecodedWorkflowName if the human readable name needs to be exposed, such as for logging purposes.
107107
DecodedWorkflowName string
108108
// SpendLimits is expected to be an array of tuples of spend type and limit. i.e. CONSENSUS -> 100_000
109-
SpendLimits []SpendLimit
110-
WorkflowTag string
109+
SpendLimits []SpendLimit
110+
WorkflowTag string
111+
WorkflowRegistryChainSelector string
112+
WorkflowRegistryAddress string
113+
EngineVersion string
111114
}
112115

113116
func (m *RequestMetadata) ContextWithCRE(ctx context.Context) context.Context {

pkg/capabilities/pb/capabilities.pb.go

Lines changed: 53 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/capabilities/pb/capabilities.proto

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ message RequestMetadata {
4848
string decoded_workflow_name = 9;
4949
repeated SpendLimit spend_limits = 10;
5050
string workflow_tag = 11;
51+
string workflow_registry_chain_selector = 12;
52+
string workflow_registry_address = 13;
53+
string engine_version = 14;
5154
}
5255

5356
message CapabilityRequest {
@@ -169,6 +172,7 @@ message InitialiseRequest {
169172
uint32 oracle_factory_id = 8;
170173
uint32 gateway_connector_id = 9;
171174
uint32 keystore_id = 10;
175+
uint32 org_resolver_id = 11;
172176
}
173177

174178
message CapabilityInfosReply {

pkg/capabilities/pb/capabilities_helpers.go

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -314,16 +314,19 @@ func TriggerRegistrationRequestToProto(req capabilities.TriggerRegistrationReque
314314
return &TriggerRegistrationRequest{
315315
TriggerId: req.TriggerID,
316316
Metadata: &RequestMetadata{
317-
WorkflowId: md.WorkflowID,
318-
WorkflowExecutionId: md.WorkflowExecutionID,
319-
WorkflowOwner: md.WorkflowOwner,
320-
WorkflowName: md.WorkflowName,
321-
WorkflowDonId: md.WorkflowDonID,
322-
WorkflowDonConfigVersion: md.WorkflowDonConfigVersion,
323-
ReferenceId: md.ReferenceID,
324-
DecodedWorkflowName: md.DecodedWorkflowName,
325-
SpendLimits: spendLimitsToProto(md.SpendLimits),
326-
WorkflowTag: md.WorkflowTag,
317+
WorkflowId: md.WorkflowID,
318+
WorkflowExecutionId: md.WorkflowExecutionID,
319+
WorkflowOwner: md.WorkflowOwner,
320+
WorkflowName: md.WorkflowName,
321+
WorkflowDonId: md.WorkflowDonID,
322+
WorkflowDonConfigVersion: md.WorkflowDonConfigVersion,
323+
ReferenceId: md.ReferenceID,
324+
DecodedWorkflowName: md.DecodedWorkflowName,
325+
SpendLimits: spendLimitsToProto(md.SpendLimits),
326+
WorkflowTag: md.WorkflowTag,
327+
WorkflowRegistryChainSelector: md.WorkflowRegistryChainSelector,
328+
WorkflowRegistryAddress: md.WorkflowRegistryAddress,
329+
EngineVersion: md.EngineVersion,
327330
},
328331
Config: values.ProtoMap(config),
329332
Payload: req.Payload,
@@ -361,16 +364,19 @@ func TriggerRegistrationRequestFromProto(req *TriggerRegistrationRequest) (capab
361364
return capabilities.TriggerRegistrationRequest{
362365
TriggerID: req.TriggerId,
363366
Metadata: capabilities.RequestMetadata{
364-
WorkflowID: md.WorkflowId,
365-
WorkflowOwner: md.WorkflowOwner,
366-
WorkflowExecutionID: md.WorkflowExecutionId,
367-
WorkflowName: md.WorkflowName,
368-
WorkflowDonID: md.WorkflowDonId,
369-
WorkflowDonConfigVersion: md.WorkflowDonConfigVersion,
370-
ReferenceID: md.ReferenceId,
371-
DecodedWorkflowName: md.DecodedWorkflowName,
372-
SpendLimits: spendLimitsFromProto(md.SpendLimits),
373-
WorkflowTag: md.WorkflowTag,
367+
WorkflowID: md.WorkflowId,
368+
WorkflowOwner: md.WorkflowOwner,
369+
WorkflowExecutionID: md.WorkflowExecutionId,
370+
WorkflowName: md.WorkflowName,
371+
WorkflowDonID: md.WorkflowDonId,
372+
WorkflowDonConfigVersion: md.WorkflowDonConfigVersion,
373+
ReferenceID: md.ReferenceId,
374+
DecodedWorkflowName: md.DecodedWorkflowName,
375+
SpendLimits: spendLimitsFromProto(md.SpendLimits),
376+
WorkflowTag: md.WorkflowTag,
377+
WorkflowRegistryChainSelector: md.WorkflowRegistryChainSelector,
378+
WorkflowRegistryAddress: md.WorkflowRegistryAddress,
379+
EngineVersion: md.EngineVersion,
374380
},
375381
Config: config,
376382
Payload: req.Payload,

pkg/loop/internal/core/services/capability/standard/standard_capabilities.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
keystoreservice "github.com/smartcontractkit/chainlink-common/pkg/loop/internal/core/services/keystore"
1717
"github.com/smartcontractkit/chainlink-common/pkg/loop/internal/core/services/keyvalue"
1818
"github.com/smartcontractkit/chainlink-common/pkg/loop/internal/core/services/oraclefactory"
19+
"github.com/smartcontractkit/chainlink-common/pkg/loop/internal/core/services/orgresolver"
1920
"github.com/smartcontractkit/chainlink-common/pkg/loop/internal/core/services/pipeline"
2021
"github.com/smartcontractkit/chainlink-common/pkg/loop/internal/core/services/telemetry"
2122
"github.com/smartcontractkit/chainlink-common/pkg/loop/internal/goplugin"
@@ -156,6 +157,15 @@ func (c *StandardCapabilitiesClient) Initialise(ctx context.Context, dependencie
156157
}
157158
resources = append(resources, gatewayConnectorRes)
158159

160+
orgResolverID, orgResolverRes, err := c.ServeNew("OrgResolver", func(s *grpc.Server) {
161+
pb.RegisterOrgResolverServer(s, orgresolver.NewServer(dependencies.OrgResolver))
162+
})
163+
if err != nil {
164+
c.CloseAll(resources...)
165+
return fmt.Errorf("failed to serve org resolver: %w", err)
166+
}
167+
resources = append(resources, orgResolverRes)
168+
159169
_, err = c.StandardCapabilitiesClient.Initialise(ctx, &capabilitiespb.InitialiseRequest{
160170
Config: config,
161171
ErrorLogId: errorLogID,
@@ -167,6 +177,7 @@ func (c *StandardCapabilitiesClient) Initialise(ctx context.Context, dependencie
167177
OracleFactoryId: oracleFactoryID,
168178
GatewayConnectorId: gatewayConnectorID,
169179
KeystoreId: keyStoreID,
180+
OrgResolverId: orgResolverID,
170181
})
171182

172183
if err != nil {
@@ -310,6 +321,14 @@ func (s *standardCapabilitiesServer) Initialise(ctx context.Context, request *ca
310321
resources = append(resources, net.Resource{Closer: gatewayConnectorConn, Name: "GatewayConnector"})
311322
gatewayConnector := gateway.NewGatewayConnectorClient(gatewayConnectorConn, s.BrokerExt)
312323

324+
orgResolverConn, err := s.Dial(request.OrgResolverId)
325+
if err != nil {
326+
s.CloseAll(resources...)
327+
return nil, net.ErrConnDial{Name: "OrgResolver", ID: request.OrgResolverId, Err: err}
328+
}
329+
resources = append(resources, net.Resource{Closer: orgResolverConn, Name: "OrgResolver"})
330+
orgResolver := orgresolver.NewClient(s.Logger, orgResolverConn)
331+
313332
dependencies := core.StandardCapabilitiesDependencies{
314333
Config: request.Config,
315334
TelemetryService: telemetry,
@@ -321,6 +340,7 @@ func (s *standardCapabilitiesServer) Initialise(ctx context.Context, request *ca
321340
OracleFactory: oracleFactory,
322341
GatewayConnector: gatewayConnector,
323342
P2PKeystore: keyStore,
343+
OrgResolver: orgResolver,
324344
}
325345

326346
if err = s.impl.Initialise(ctx, dependencies); err != nil {

0 commit comments

Comments
 (0)