Skip to content

Commit 03b6069

Browse files
committed
add more instrumentation
1 parent 0f8085a commit 03b6069

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

baseapp/baseapp.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ const (
6666
var _ servertypes.ABCI = (*BaseApp)(nil)
6767

6868
var (
69-
tracer = otel.Tracer("baseapp")
70-
meter = otel.Meter("baseapp")
69+
tracer = otel.Tracer("cosmos-sdk/baseapp")
70+
meter = otel.Meter("cosmos-sdk/baseapp")
7171
blockCnt metric.Int64Counter
7272
txCnt metric.Int64Counter
7373
blockTime metric.Float64Histogram

types/module/module.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ import (
3939
abci "github.com/cometbft/cometbft/abci/types"
4040
"github.com/grpc-ecosystem/grpc-gateway/runtime"
4141
"github.com/spf13/cobra"
42+
"go.opentelemetry.io/otel"
43+
"go.opentelemetry.io/otel/trace"
4244

4345
"cosmossdk.io/core/appmodule"
4446
"cosmossdk.io/core/genesis"
@@ -52,6 +54,10 @@ import (
5254
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
5355
)
5456

57+
var (
58+
tracer = otel.Tracer("cosmos-sdk/types/module")
59+
)
60+
5561
// AppModuleBasic is the standard form for basic non-dependent elements of an application module.
5662
type AppModuleBasic interface {
5763
HasName
@@ -752,8 +758,14 @@ func (m Manager) RunMigrations(ctx context.Context, cfg Configurator, fromVM Ver
752758
// It takes the current context as a parameter and returns a boolean value
753759
// indicating whether the migration was successfully executed or not.
754760
func (m *Manager) PreBlock(ctx sdk.Context) (*sdk.ResponsePreBlock, error) {
761+
var span trace.Span
762+
ctx, span = ctx.StartSpan(tracer, "Manager.PreBlock")
763+
defer span.End()
764+
755765
paramsChanged := false
756766
for _, moduleName := range m.OrderPreBlockers {
767+
var modSpan trace.Span
768+
ctx, modSpan = ctx.StartSpan(tracer, fmt.Sprintf("PreBlock.%s", moduleName))
757769
if module, ok := m.Modules[moduleName].(appmodule.HasPreBlocker); ok {
758770
rsp, err := module.PreBlock(ctx)
759771
if err != nil {
@@ -763,6 +775,7 @@ func (m *Manager) PreBlock(ctx sdk.Context) (*sdk.ResponsePreBlock, error) {
763775
paramsChanged = true
764776
}
765777
}
778+
modSpan.End()
766779
}
767780
return &sdk.ResponsePreBlock{
768781
ConsensusParamsChanged: paramsChanged,
@@ -773,13 +786,20 @@ func (m *Manager) PreBlock(ctx sdk.Context) (*sdk.ResponsePreBlock, error) {
773786
// child context with an event manager to aggregate events emitted from all
774787
// modules.
775788
func (m *Manager) BeginBlock(ctx sdk.Context) (sdk.BeginBlock, error) {
789+
var span trace.Span
790+
ctx, span = ctx.StartSpan(tracer, "Manager.BeginBlock")
791+
defer span.End()
792+
776793
ctx = ctx.WithEventManager(sdk.NewEventManager())
777794
for _, moduleName := range m.OrderBeginBlockers {
795+
var modSpan trace.Span
796+
ctx, modSpan = ctx.StartSpan(tracer, fmt.Sprintf("BeginBlock.%s", moduleName))
778797
if module, ok := m.Modules[moduleName].(appmodule.HasBeginBlocker); ok {
779798
if err := module.BeginBlock(ctx); err != nil {
780799
return sdk.BeginBlock{}, err
781800
}
782801
}
802+
modSpan.End()
783803
}
784804

785805
return sdk.BeginBlock{
@@ -791,10 +811,16 @@ func (m *Manager) BeginBlock(ctx sdk.Context) (sdk.BeginBlock, error) {
791811
// child context with an event manager to aggregate events emitted from all
792812
// modules.
793813
func (m *Manager) EndBlock(ctx sdk.Context) (sdk.EndBlock, error) {
814+
var span trace.Span
815+
ctx, span = ctx.StartSpan(tracer, "Manager.EndBlock")
816+
defer span.End()
817+
794818
ctx = ctx.WithEventManager(sdk.NewEventManager())
795819
validatorUpdates := []abci.ValidatorUpdate{}
796820

797821
for _, moduleName := range m.OrderEndBlockers {
822+
var modSpan trace.Span
823+
ctx, modSpan = ctx.StartSpan(tracer, fmt.Sprintf("EndBlock.%s", moduleName))
798824
if module, ok := m.Modules[moduleName].(appmodule.HasEndBlocker); ok {
799825
err := module.EndBlock(ctx)
800826
if err != nil {
@@ -819,6 +845,7 @@ func (m *Manager) EndBlock(ctx sdk.Context) (sdk.EndBlock, error) {
819845
} else {
820846
continue
821847
}
848+
modSpan.End()
822849
}
823850

824851
return sdk.EndBlock{

0 commit comments

Comments
 (0)