* use new measurement for protocol stats and add NTT * reorder consts
This commit is contained in:
parent
cc1f63ef55
commit
9d743e7f5a
|
@ -19,7 +19,8 @@ const QueryCoreProtocolTotalStartOfDay = `
|
||||||
|
|
||||||
data = from(bucket: "%s")
|
data = from(bucket: "%s")
|
||||||
|> range(start: 1970-01-01T00:00:00Z,stop:startOfCurrentDay)
|
|> range(start: 1970-01-01T00:00:00Z,stop:startOfCurrentDay)
|
||||||
|> filter(fn: (r) => r._measurement == "%s" and r.app_id == "%s")
|
|> filter(fn: (r) => r._measurement == "%s" and r.version == "v1" and r.app_id == "TOTAL_%s")
|
||||||
|
|> drop(columns: ["emitter_chain","destination_chain","version"])
|
||||||
|
|
||||||
tvt = data
|
tvt = data
|
||||||
|> filter(fn : (r) => r._field == "total_value_transferred")
|
|> filter(fn : (r) => r._field == "total_value_transferred")
|
||||||
|
@ -51,7 +52,8 @@ const QueryCoreProtocolDeltaSinceStartOfDay = `
|
||||||
|
|
||||||
data = from(bucket: "%s")
|
data = from(bucket: "%s")
|
||||||
|> range(start: startOfDay,stop:ts)
|
|> range(start: startOfDay,stop:ts)
|
||||||
|> filter(fn: (r) => r._measurement == "%s" and r.app_id == "%s")
|
|> filter(fn: (r) => r._measurement == "%s" and r.app_id == "TOTAL_%s")
|
||||||
|
|> drop(columns: ["emitter_chain","destination_chain","version"])
|
||||||
|
|
||||||
tvt = data
|
tvt = data
|
||||||
|> filter(fn : (r) => r._field == "total_value_transferred")
|
|> filter(fn : (r) => r._field == "total_value_transferred")
|
||||||
|
@ -83,7 +85,8 @@ const QueryCoreProtocolDeltaLastDay = `
|
||||||
|
|
||||||
data = from(bucket: "%s")
|
data = from(bucket: "%s")
|
||||||
|> range(start: yesterday,stop:ts)
|
|> range(start: yesterday,stop:ts)
|
||||||
|> filter(fn: (r) => r._measurement == "%s" and r.app_id == "%s")
|
|> filter(fn: (r) => r._measurement == "%s" and r.app_id == "TOTAL_%s")
|
||||||
|
|> drop(columns: ["emitter_chain","destination_chain"])
|
||||||
|
|
||||||
tvt = data
|
tvt = data
|
||||||
|> filter(fn : (r) => r._field == "total_value_transferred")
|
|> filter(fn : (r) => r._field == "total_value_transferred")
|
||||||
|
@ -174,7 +177,7 @@ type Repository struct {
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
bucketInfinite string
|
bucketInfinite string
|
||||||
bucket30d string
|
bucket30d string
|
||||||
coreProtocolMeasurement map[string]struct {
|
coreProtocolMeasurement struct {
|
||||||
Daily string
|
Daily string
|
||||||
Hourly string
|
Hourly string
|
||||||
}
|
}
|
||||||
|
@ -238,12 +241,12 @@ func NewRepository(qApi QueryDoer, bucketInfinite, bucket30d string, logger *zap
|
||||||
bucketInfinite: bucketInfinite,
|
bucketInfinite: bucketInfinite,
|
||||||
bucket30d: bucket30d,
|
bucket30d: bucket30d,
|
||||||
logger: logger,
|
logger: logger,
|
||||||
coreProtocolMeasurement: map[string]struct {
|
coreProtocolMeasurement: struct {
|
||||||
Daily string
|
Daily string
|
||||||
Hourly string
|
Hourly string
|
||||||
}{
|
}{
|
||||||
CCTP: {Daily: dbconsts.CctpStatsMeasurementDaily, Hourly: dbconsts.CctpStatsMeasurementHourly},
|
Daily: dbconsts.TotalProtocolsStatsDaily,
|
||||||
PortalTokenBridge: {Daily: dbconsts.TokenBridgeStatsMeasurementDaily, Hourly: dbconsts.TokenBridgeStatsMeasurementHourly},
|
Hourly: dbconsts.TotalProtocolsStatsHourly,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -312,14 +315,14 @@ func (r *Repository) getProtocolActivity(ctx context.Context, protocol string) (
|
||||||
func (r *Repository) getCoreProtocolStats(ctx context.Context, protocol string) (intStats, error) {
|
func (r *Repository) getCoreProtocolStats(ctx context.Context, protocol string) (intStats, error) {
|
||||||
|
|
||||||
// calculate total values till the start of current day
|
// calculate total values till the start of current day
|
||||||
totalTillCurrentDayQuery := fmt.Sprintf(QueryCoreProtocolTotalStartOfDay, r.bucketInfinite, r.coreProtocolMeasurement[protocol].Daily, protocol, protocol)
|
totalTillCurrentDayQuery := fmt.Sprintf(QueryCoreProtocolTotalStartOfDay, r.bucketInfinite, r.coreProtocolMeasurement.Daily, protocol, protocol)
|
||||||
totalsUntilToday, err := fetchSingleRecordData[intRowStat](r.logger, r.queryAPI, ctx, totalTillCurrentDayQuery, protocol)
|
totalsUntilToday, err := fetchSingleRecordData[intRowStat](r.logger, r.queryAPI, ctx, totalTillCurrentDayQuery, protocol)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return intStats{}, err
|
return intStats{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// calculate delta since the beginning of current day
|
// calculate delta since the beginning of current day
|
||||||
q2 := fmt.Sprintf(QueryCoreProtocolDeltaSinceStartOfDay, r.bucket30d, r.coreProtocolMeasurement[protocol].Hourly, protocol, protocol)
|
q2 := fmt.Sprintf(QueryCoreProtocolDeltaSinceStartOfDay, r.bucket30d, r.coreProtocolMeasurement.Hourly, protocol, protocol)
|
||||||
currentDayStats, errCD := fetchSingleRecordData[intRowStat](r.logger, r.queryAPI, ctx, q2, protocol)
|
currentDayStats, errCD := fetchSingleRecordData[intRowStat](r.logger, r.queryAPI, ctx, q2, protocol)
|
||||||
if errCD != nil {
|
if errCD != nil {
|
||||||
return intStats{}, errCD
|
return intStats{}, errCD
|
||||||
|
@ -336,7 +339,7 @@ func (r *Repository) getCoreProtocolStats(ctx context.Context, protocol string)
|
||||||
}
|
}
|
||||||
|
|
||||||
// calculate last day delta
|
// calculate last day delta
|
||||||
q3 := fmt.Sprintf(QueryCoreProtocolDeltaLastDay, r.bucket30d, r.coreProtocolMeasurement[protocol].Hourly, protocol, protocol)
|
q3 := fmt.Sprintf(QueryCoreProtocolDeltaLastDay, r.bucket30d, r.coreProtocolMeasurement.Hourly, protocol, protocol)
|
||||||
deltaYesterdayStats, errQ3 := fetchSingleRecordData[intRowStat](r.logger, r.queryAPI, ctx, q3, protocol)
|
deltaYesterdayStats, errQ3 := fetchSingleRecordData[intRowStat](r.logger, r.queryAPI, ctx, q3, protocol)
|
||||||
if errQ3 != nil {
|
if errQ3 != nil {
|
||||||
return result, errQ3
|
return result, errQ3
|
||||||
|
|
|
@ -14,6 +14,7 @@ import (
|
||||||
|
|
||||||
const CCTP = "CCTP_WORMHOLE_INTEGRATION"
|
const CCTP = "CCTP_WORMHOLE_INTEGRATION"
|
||||||
const PortalTokenBridge = "PORTAL_TOKEN_BRIDGE"
|
const PortalTokenBridge = "PORTAL_TOKEN_BRIDGE"
|
||||||
|
const NTT = "NATIVE_TOKEN_TRANSFER"
|
||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
Protocols []string
|
Protocols []string
|
||||||
|
@ -90,6 +91,8 @@ func getProtocolNameDto(protocol string) string {
|
||||||
return "cctp"
|
return "cctp"
|
||||||
case PortalTokenBridge:
|
case PortalTokenBridge:
|
||||||
return "portal_token_bridge"
|
return "portal_token_bridge"
|
||||||
|
case NTT:
|
||||||
|
return strings.ToLower(NTT)
|
||||||
default:
|
default:
|
||||||
return protocol
|
return protocol
|
||||||
}
|
}
|
||||||
|
|
|
@ -239,9 +239,9 @@ func TestService_GetCCTP_Stats(t *testing.T) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
queryAPI := &mockQueryAPI{}
|
queryAPI := &mockQueryAPI{}
|
||||||
|
|
||||||
queryAPI.On("Query", ctx, fmt.Sprintf(protocols.QueryCoreProtocolTotalStartOfDay, "bucketInfinite", dbconsts.CctpStatsMeasurementDaily, protocols.PortalTokenBridge, protocols.PortalTokenBridge)).Return(totalStartOfCurrentDay, errNil)
|
queryAPI.On("Query", ctx, fmt.Sprintf(protocols.QueryCoreProtocolTotalStartOfDay, "bucketInfinite", dbconsts.TotalProtocolsStatsDaily, protocols.PortalTokenBridge, protocols.PortalTokenBridge)).Return(totalStartOfCurrentDay, errNil)
|
||||||
queryAPI.On("Query", ctx, fmt.Sprintf(protocols.QueryCoreProtocolDeltaSinceStartOfDay, "bucket30d", dbconsts.CctpStatsMeasurementHourly, protocols.PortalTokenBridge, protocols.PortalTokenBridge)).Return(deltaSinceStartOfDay, errNil)
|
queryAPI.On("Query", ctx, fmt.Sprintf(protocols.QueryCoreProtocolDeltaSinceStartOfDay, "bucket30d", dbconsts.TotalProtocolsStatsHourly, protocols.PortalTokenBridge, protocols.PortalTokenBridge)).Return(deltaSinceStartOfDay, errNil)
|
||||||
queryAPI.On("Query", ctx, fmt.Sprintf(protocols.QueryCoreProtocolDeltaLastDay, "bucket30d", dbconsts.CctpStatsMeasurementHourly, protocols.PortalTokenBridge, protocols.PortalTokenBridge)).Return(deltaLastDay, errNil)
|
queryAPI.On("Query", ctx, fmt.Sprintf(protocols.QueryCoreProtocolDeltaLastDay, "bucket30d", dbconsts.TotalProtocolsStatsHourly, protocols.PortalTokenBridge, protocols.PortalTokenBridge)).Return(deltaLastDay, errNil)
|
||||||
|
|
||||||
repository := protocols.NewRepository(queryAPI, "bucketInfinite", "bucket30d", zap.NewNop())
|
repository := protocols.NewRepository(queryAPI, "bucketInfinite", "bucket30d", zap.NewNop())
|
||||||
service := protocols.NewService([]string{}, []string{protocols.PortalTokenBridge}, repository, zap.NewNop(), cache.NewDummyCacheClient(), "WORMSCAN:PROTOCOLS", 0, metrics.NewNoOpMetrics(), &mockTvl{})
|
service := protocols.NewService([]string{}, []string{protocols.PortalTokenBridge}, repository, zap.NewNop(), cache.NewDummyCacheClient(), "WORMSCAN:PROTOCOLS", 0, metrics.NewNoOpMetrics(), &mockTvl{})
|
||||||
|
|
|
@ -182,7 +182,7 @@ func main() {
|
||||||
relaysService := relays.NewService(relaysRepo, rootLogger)
|
relaysService := relays.NewService(relaysRepo, rootLogger)
|
||||||
operationsService := operations.NewService(operationsRepo, rootLogger)
|
operationsService := operations.NewService(operationsRepo, rootLogger)
|
||||||
statsService := stats.NewService(statsRepo, cache, expirationTime, metrics, rootLogger)
|
statsService := stats.NewService(statsRepo, cache, expirationTime, metrics, rootLogger)
|
||||||
protocolsService := protocols.NewService(cfg.Protocols, []string{protocols.CCTP, protocols.PortalTokenBridge}, protocolsRepo, rootLogger, cache, cfg.Cache.ProtocolsStatsKey, cfg.Cache.ProtocolsStatsExpiration, metrics, tvl)
|
protocolsService := protocols.NewService(cfg.Protocols, []string{protocols.CCTP, protocols.PortalTokenBridge, protocols.NTT}, protocolsRepo, rootLogger, cache, cfg.Cache.ProtocolsStatsKey, cfg.Cache.ProtocolsStatsExpiration, metrics, tvl)
|
||||||
guardianService := guardianHandlers.NewService(guardianSetRepository, cfg.P2pNetwork, cache, metrics, rootLogger)
|
guardianService := guardianHandlers.NewService(guardianSetRepository, cfg.P2pNetwork, cache, metrics, rootLogger)
|
||||||
|
|
||||||
// Set up a custom error handler
|
// Set up a custom error handler
|
||||||
|
|
|
@ -1,17 +1,10 @@
|
||||||
package dbconsts
|
package dbconsts
|
||||||
|
|
||||||
// influx-db constants
|
|
||||||
const (
|
const (
|
||||||
ProtocolsActivityMeasurementHourly = "protocols_activity_1h"
|
ProtocolsActivityMeasurementHourly = "protocols_activity_1h"
|
||||||
ProtocolsActivityMeasurementDaily = "protocols_activity_1d"
|
ProtocolsActivityMeasurementDaily = "protocols_activity_1d"
|
||||||
ProtocolsStatsMeasurementDaily = "protocols_stats_1d"
|
ProtocolsStatsMeasurementDaily = "protocols_stats_1d"
|
||||||
ProtocolsStatsMeasurementHourly = "protocols_stats_1h"
|
ProtocolsStatsMeasurementHourly = "protocols_stats_1h"
|
||||||
|
TotalProtocolsStatsDaily = "protocols_stats_totals_1d"
|
||||||
CctpStatsMeasurementHourly = intProtocolStatsMeasurement1h
|
TotalProtocolsStatsHourly = "protocols_stats_totals_1h"
|
||||||
TokenBridgeStatsMeasurementHourly = intProtocolStatsMeasurement1h
|
|
||||||
intProtocolStatsMeasurement1h = "core_protocols_stats_1h"
|
|
||||||
|
|
||||||
CctpStatsMeasurementDaily = intProtocolStatsMeasurement1d
|
|
||||||
TokenBridgeStatsMeasurementDaily = intProtocolStatsMeasurement1d
|
|
||||||
intProtocolStatsMeasurement1d = "core_protocols_stats_1d"
|
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue