Skip to content

Commit 5ab8fb9

Browse files
committed
use the new metrics thing
1 parent 5de2049 commit 5ab8fb9

File tree

16 files changed

+218
-35
lines changed

16 files changed

+218
-35
lines changed

cmd/server/cadence/fx.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import (
4040
"github.com/uber/cadence/common/log/tag"
4141
"github.com/uber/cadence/common/metrics"
4242
"github.com/uber/cadence/common/metrics/metricsfx"
43+
"github.com/uber/cadence/common/metrics/structured"
4344
"github.com/uber/cadence/common/persistence/nosql/nosqlplugin/cassandra/gocql"
4445
"github.com/uber/cadence/common/rpc/rpcfx"
4546
"github.com/uber/cadence/common/service"
@@ -101,6 +102,7 @@ type AppParams struct {
101102
DynamicConfig dynamicconfig.Client
102103
Scope tally.Scope
103104
MetricsClient metrics.Client
105+
Emitter structured.Emitter
104106
}
105107

106108
// NewApp created a new Application from pre initalized config and logger.
@@ -112,6 +114,7 @@ func NewApp(params AppParams) *App {
112114
dynamicConfig: params.DynamicConfig,
113115
scope: params.Scope,
114116
metricsClient: params.MetricsClient,
117+
emitter: params.Emitter,
115118
}
116119

117120
params.LifeCycle.Append(fx.StartHook(app.verifySchema))
@@ -128,13 +131,14 @@ type App struct {
128131
dynamicConfig dynamicconfig.Client
129132
scope tally.Scope
130133
metricsClient metrics.Client
134+
emitter structured.Emitter
131135

132136
daemon common.Daemon
133137
service string
134138
}
135139

136140
func (a *App) Start(_ context.Context) error {
137-
a.daemon = newServer(a.service, a.cfg, a.logger, a.dynamicConfig, a.scope, a.metricsClient)
141+
a.daemon = newServer(a.service, a.cfg, a.logger, a.dynamicConfig, a.scope, a.metricsClient, a.emitter)
138142
a.daemon.Start()
139143
return nil
140144
}

cmd/server/cadence/server.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ import (
5454
"github.com/uber/cadence/common/membership"
5555
"github.com/uber/cadence/common/messaging/kafka"
5656
"github.com/uber/cadence/common/metrics"
57+
"github.com/uber/cadence/common/metrics/structured"
5758
"github.com/uber/cadence/common/peerprovider/ringpopprovider"
5859
pnt "github.com/uber/cadence/common/pinot"
5960
"github.com/uber/cadence/common/resource"
@@ -79,12 +80,13 @@ type (
7980
dynamicCfgClient dynamicconfig.Client
8081
scope tally.Scope
8182
metricsClient metrics.Client
83+
emitter structured.Emitter
8284
}
8385
)
8486

8587
// newServer returns a new instance of a daemon
8688
// that represents a cadence service
87-
func newServer(service string, cfg config.Config, logger log.Logger, dynamicCfgClient dynamicconfig.Client, scope tally.Scope, metricsClient metrics.Client) common.Daemon {
89+
func newServer(service string, cfg config.Config, logger log.Logger, dynamicCfgClient dynamicconfig.Client, scope tally.Scope, metricsClient metrics.Client, emitter structured.Emitter) common.Daemon {
8890
return &server{
8991
cfg: cfg,
9092
name: service,
@@ -93,6 +95,7 @@ func newServer(service string, cfg config.Config, logger log.Logger, dynamicCfgC
9395
dynamicCfgClient: dynamicCfgClient,
9496
scope: scope,
9597
metricsClient: metricsClient,
98+
emitter: emitter,
9699
}
97100
}
98101

@@ -142,6 +145,7 @@ func (s *server) startService() common.Daemon {
142145

143146
params.MetricScope = s.scope
144147
params.MetricsClient = s.metricsClient
148+
params.Emitter = s.emitter
145149

146150
rpcParams, err := rpc.NewParams(params.Name, &s.cfg, dc, params.Logger, params.MetricsClient)
147151
if err != nil {

cmd/server/cadence/server_test.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import (
4444
"github.com/uber/cadence/common/log/tag"
4545
"github.com/uber/cadence/common/log/testlogger"
4646
"github.com/uber/cadence/common/metrics"
47+
"github.com/uber/cadence/common/metrics/structured"
4748
pt "github.com/uber/cadence/common/persistence/persistence-tests"
4849
"github.com/uber/cadence/common/persistence/sql/sqlplugin/sqlite"
4950
"github.com/uber/cadence/common/resource"
@@ -110,7 +111,15 @@ func (s *ServerSuite) TestServerStartup() {
110111
})
111112

112113
for _, svc := range services {
113-
server := newServer(svc, cfg, logger, dynamicconfig.NewNopClient(), tally.NoopScope, metrics.NewNoopMetricsClient())
114+
server := newServer(
115+
svc,
116+
cfg,
117+
logger,
118+
dynamicconfig.NewNopClient(),
119+
tally.NoopScope,
120+
metrics.NewNoopMetricsClient(),
121+
structured.NewTestEmitter(s.T(), nil),
122+
)
114123
daemons = append(daemons, server)
115124
server.Start()
116125
}

common/metrics/metricsfx/metricsfx.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,15 @@ import (
2929
"github.com/uber/cadence/common/config"
3030
"github.com/uber/cadence/common/log"
3131
"github.com/uber/cadence/common/metrics"
32+
"github.com/uber/cadence/common/metrics/structured"
3233
"github.com/uber/cadence/common/service"
3334
)
3435

3536
// Module provides metrics client for fx application.
3637
var Module = fx.Module("metricsfx",
37-
fx.Provide(buildClient))
38+
fx.Provide(buildClient),
39+
structured.Module,
40+
)
3841

3942
// ModuleForExternalScope provides metrics client for fx application when tally.Scope is created outside.
4043
var ModuleForExternalScope = fx.Module("metricsfx",

common/resource/params.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import (
4242
"github.com/uber/cadence/common/membership"
4343
"github.com/uber/cadence/common/messaging"
4444
"github.com/uber/cadence/common/metrics"
45+
"github.com/uber/cadence/common/metrics/structured"
4546
persistenceClient "github.com/uber/cadence/common/persistence/client"
4647
"github.com/uber/cadence/common/pinot"
4748
"github.com/uber/cadence/common/rpc"
@@ -68,6 +69,7 @@ type (
6869
ClusterMetadata cluster.Metadata
6970
ReplicatorConfig config.Replicator
7071
MetricsClient metrics.Client
72+
Emitter structured.Emitter
7173
MessagingClient messaging.Client
7274
BlobstoreClient blobstore.Client
7375
ESClient es.GenericClient

common/resource/resource_impl.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ import (
5757
"github.com/uber/cadence/common/membership"
5858
"github.com/uber/cadence/common/messaging"
5959
"github.com/uber/cadence/common/metrics"
60+
"github.com/uber/cadence/common/metrics/structured"
6061
"github.com/uber/cadence/common/persistence"
6162
persistenceClient "github.com/uber/cadence/common/persistence/client"
6263
qrpc "github.com/uber/cadence/common/quotas/global/rpc"
@@ -98,6 +99,7 @@ type Impl struct {
9899
timeSource clock.TimeSource
99100
payloadSerializer persistence.PayloadSerializer
100101
metricsClient metrics.Client
102+
emitter structured.Emitter
101103
messagingClient messaging.Client
102104
blobstoreClient blobstore.Client
103105
archivalMetadata archiver.ArchivalMetadata
@@ -360,6 +362,7 @@ func New(
360362
timeSource: clock.NewRealTimeSource(),
361363
payloadSerializer: persistence.NewPayloadSerializer(),
362364
metricsClient: params.MetricsClient,
365+
emitter: params.Emitter,
363366
messagingClient: params.MessagingClient,
364367
blobstoreClient: params.BlobstoreClient,
365368
archivalMetadata: params.ArchivalMetadata,
@@ -534,6 +537,11 @@ func (h *Impl) GetMetricsClient() metrics.Client {
534537
return h.metricsClient
535538
}
536539

540+
// GetMetricsEmitter returns a base structured metrics emitter
541+
func (h *Impl) GetMetricsEmitter() structured.Emitter {
542+
return h.emitter
543+
}
544+
537545
// GetMessagingClient return messaging client
538546
func (h *Impl) GetMessagingClient() messaging.Client {
539547
return h.messagingClient

common/resource/resource_mock.go

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

common/resource/resource_test_utils.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ import (
5252
"github.com/uber/cadence/common/membership"
5353
"github.com/uber/cadence/common/messaging"
5454
"github.com/uber/cadence/common/metrics"
55+
"github.com/uber/cadence/common/metrics/structured"
5556
"github.com/uber/cadence/common/mocks"
5657
"github.com/uber/cadence/common/persistence"
5758
persistenceClient "github.com/uber/cadence/common/persistence/client"
@@ -74,6 +75,7 @@ type (
7475
TimeSource clock.TimeSource
7576
PayloadSerializer persistence.PayloadSerializer
7677
MetricsClient metrics.Client
78+
Emitter structured.Emitter
7779
ArchivalMetadata *archiver.MockArchivalMetadata
7880
ArchiverProvider *provider.MockArchiverProvider
7981
BlobstoreClient *blobstore.MockClient
@@ -188,6 +190,7 @@ func NewTest(
188190
TimeSource: clock.NewRealTimeSource(),
189191
PayloadSerializer: persistence.NewPayloadSerializer(),
190192
MetricsClient: metrics.NewClient(scope, serviceMetricsIndex),
193+
Emitter: structured.NewTestEmitter(t, scope),
191194
ArchivalMetadata: &archiver.MockArchivalMetadata{},
192195
ArchiverProvider: &provider.MockArchiverProvider{},
193196
BlobstoreClient: &blobstore.MockClient{},
@@ -295,6 +298,11 @@ func (s *Test) GetMetricsClient() metrics.Client {
295298
return s.MetricsClient
296299
}
297300

301+
// GetMetricsEmitter for testing
302+
func (s *Test) GetMetricsEmitter() structured.Emitter {
303+
return s.Emitter
304+
}
305+
298306
// GetMessagingClient for testing
299307
func (s *Test) GetMessagingClient() messaging.Client {
300308
panic("user should implement this method for test")

common/resource/types.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import (
4747
"github.com/uber/cadence/common/membership"
4848
"github.com/uber/cadence/common/messaging"
4949
"github.com/uber/cadence/common/metrics"
50+
"github.com/uber/cadence/common/metrics/structured"
5051
"github.com/uber/cadence/common/persistence"
5152
persistenceClient "github.com/uber/cadence/common/persistence/client"
5253
qrpc "github.com/uber/cadence/common/quotas/global/rpc"
@@ -79,6 +80,7 @@ type Resource interface {
7980
GetTimeSource() clock.TimeSource
8081
GetPayloadSerializer() persistence.PayloadSerializer
8182
GetMetricsClient() metrics.Client
83+
GetMetricsEmitter() structured.Emitter
8284
GetArchiverProvider() provider.ArchiverProvider
8385
GetMessagingClient() messaging.Client
8486
GetBlobstoreClient() blobstore.Client

service/history/engine/engineimpl/history_engine.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ func NewEngineWithShardContext(
279279
historyEngImpl,
280280
config,
281281
shard.GetMetricsClient(),
282+
shard.GetMetricsEmitter(),
282283
replicationTaskFetcher,
283284
replicationTaskExecutor,
284285
shard.GetTimeSource(),

0 commit comments

Comments
 (0)