* 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")
|
||||
|> 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
|
||||
|> filter(fn : (r) => r._field == "total_value_transferred")
|
||||
|
@ -51,7 +52,8 @@ const QueryCoreProtocolDeltaSinceStartOfDay = `
|
|||
|
||||
data = from(bucket: "%s")
|
||||
|> 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
|
||||
|> filter(fn : (r) => r._field == "total_value_transferred")
|
||||
|
@ -83,7 +85,8 @@ const QueryCoreProtocolDeltaLastDay = `
|
|||
|
||||
data = from(bucket: "%s")
|
||||
|> 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
|
||||
|> filter(fn : (r) => r._field == "total_value_transferred")
|
||||
|
@ -174,7 +177,7 @@ type Repository struct {
|
|||
logger *zap.Logger
|
||||
bucketInfinite string
|
||||
bucket30d string
|
||||
coreProtocolMeasurement map[string]struct {
|
||||
coreProtocolMeasurement struct {
|
||||
Daily string
|
||||
Hourly string
|
||||
}
|
||||
|
@ -238,12 +241,12 @@ func NewRepository(qApi QueryDoer, bucketInfinite, bucket30d string, logger *zap
|
|||
bucketInfinite: bucketInfinite,
|
||||
bucket30d: bucket30d,
|
||||
logger: logger,
|
||||
coreProtocolMeasurement: map[string]struct {
|
||||
coreProtocolMeasurement: struct {
|
||||
Daily string
|
||||
Hourly string
|
||||
}{
|
||||
CCTP: {Daily: dbconsts.CctpStatsMeasurementDaily, Hourly: dbconsts.CctpStatsMeasurementHourly},
|
||||
PortalTokenBridge: {Daily: dbconsts.TokenBridgeStatsMeasurementDaily, Hourly: dbconsts.TokenBridgeStatsMeasurementHourly},
|
||||
Daily: dbconsts.TotalProtocolsStatsDaily,
|
||||
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) {
|
||||
|
||||
// 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)
|
||||
if err != nil {
|
||||
return intStats{}, err
|
||||
}
|
||||
|
||||
// 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)
|
||||
if errCD != nil {
|
||||
return intStats{}, errCD
|
||||
|
@ -336,7 +339,7 @@ func (r *Repository) getCoreProtocolStats(ctx context.Context, protocol string)
|
|||
}
|
||||
|
||||
// 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)
|
||||
if errQ3 != nil {
|
||||
return result, errQ3
|
||||
|
|
|
@ -14,6 +14,7 @@ import (
|
|||
|
||||
const CCTP = "CCTP_WORMHOLE_INTEGRATION"
|
||||
const PortalTokenBridge = "PORTAL_TOKEN_BRIDGE"
|
||||
const NTT = "NATIVE_TOKEN_TRANSFER"
|
||||
|
||||
type Service struct {
|
||||
Protocols []string
|
||||
|
@ -90,6 +91,8 @@ func getProtocolNameDto(protocol string) string {
|
|||
return "cctp"
|
||||
case PortalTokenBridge:
|
||||
return "portal_token_bridge"
|
||||
case NTT:
|
||||
return strings.ToLower(NTT)
|
||||
default:
|
||||
return protocol
|
||||
}
|
||||
|
|
|
@ -239,9 +239,9 @@ func TestService_GetCCTP_Stats(t *testing.T) {
|
|||
ctx := context.Background()
|
||||
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.QueryCoreProtocolDeltaSinceStartOfDay, "bucket30d", dbconsts.CctpStatsMeasurementHourly, 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.QueryCoreProtocolTotalStartOfDay, "bucketInfinite", dbconsts.TotalProtocolsStatsDaily, protocols.PortalTokenBridge, protocols.PortalTokenBridge)).Return(totalStartOfCurrentDay, 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.TotalProtocolsStatsHourly, protocols.PortalTokenBridge, protocols.PortalTokenBridge)).Return(deltaLastDay, errNil)
|
||||
|
||||
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{})
|
||||
|
|
|
@ -182,7 +182,7 @@ func main() {
|
|||
relaysService := relays.NewService(relaysRepo, rootLogger)
|
||||
operationsService := operations.NewService(operationsRepo, 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)
|
||||
|
||||
// Set up a custom error handler
|
||||
|
|
|
@ -1,17 +1,10 @@
|
|||
package dbconsts
|
||||
|
||||
// influx-db constants
|
||||
const (
|
||||
ProtocolsActivityMeasurementHourly = "protocols_activity_1h"
|
||||
ProtocolsActivityMeasurementDaily = "protocols_activity_1d"
|
||||
ProtocolsStatsMeasurementDaily = "protocols_stats_1d"
|
||||
ProtocolsStatsMeasurementHourly = "protocols_stats_1h"
|
||||
|
||||
CctpStatsMeasurementHourly = intProtocolStatsMeasurement1h
|
||||
TokenBridgeStatsMeasurementHourly = intProtocolStatsMeasurement1h
|
||||
intProtocolStatsMeasurement1h = "core_protocols_stats_1h"
|
||||
|
||||
CctpStatsMeasurementDaily = intProtocolStatsMeasurement1d
|
||||
TokenBridgeStatsMeasurementDaily = intProtocolStatsMeasurement1d
|
||||
intProtocolStatsMeasurement1d = "core_protocols_stats_1d"
|
||||
TotalProtocolsStatsDaily = "protocols_stats_totals_1d"
|
||||
TotalProtocolsStatsHourly = "protocols_stats_totals_1h"
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue