package etcd import ( "time" "github.com/cloudfoundry-incubator/auctioneer" "github.com/cloudfoundry-incubator/bbs/models" "github.com/cloudfoundry-incubator/runtime-schema/metric" "github.com/cloudfoundry/gunk/workpool" "github.com/pivotal-golang/lager" ) const ( convergeTaskRunsCounter = metric.Counter("ConvergenceTaskRuns") convergeTaskDuration = metric.Duration("ConvergenceTaskDuration") tasksKickedCounter = metric.Counter("ConvergenceTasksKicked") tasksPrunedCounter = metric.Counter("ConvergenceTasksPruned") pendingTasks = metric.Metric("TasksPending") runningTasks = metric.Metric("TasksRunning") completedTasks = metric.Metric("TasksCompleted") resolvingTasks = metric.Metric("TasksResolving") ) type compareAndSwappableTask struct { OldIndex uint64 NewTask *models.Task } func (db *ETCDDB) ConvergeTasks(
package auctioneer import "github.com/cloudfoundry-incubator/runtime-schema/metric" const ( LRPAuctionsStarted = metric.Counter("AuctioneerLRPAuctionsStarted") LRPAuctionsFailed = metric.Counter("AuctioneerLRPAuctionsFailed") TaskAuctionsStarted = metric.Counter("AuctioneerTaskAuctionsStarted") TaskAuctionsFailed = metric.Counter("AuctioneerTaskAuctionsFailed") FetchStatesDuration = metric.Duration("AuctioneerFetchStatesDuration") )
"encoding/json" "net/http" "github.com/cloudfoundry-incubator/bbs" "github.com/cloudfoundry-incubator/bbs/models" "github.com/cloudfoundry-incubator/nsync/helpers" "github.com/cloudfoundry-incubator/nsync/recipebuilder" "github.com/cloudfoundry-incubator/routing-info/cfroutes" "github.com/cloudfoundry-incubator/routing-info/tcp_routes" "github.com/cloudfoundry-incubator/runtime-schema/cc_messages" "github.com/cloudfoundry-incubator/runtime-schema/metric" "github.com/pivotal-golang/lager" ) const ( desiredLRPCounter = metric.Counter("LRPsDesired") ) type DesireAppHandler struct { recipeBuilders map[string]recipebuilder.RecipeBuilder bbsClient bbs.Client logger lager.Logger } func NewDesireAppHandler(logger lager.Logger, bbsClient bbs.Client, builders map[string]recipebuilder.RecipeBuilder) DesireAppHandler { return DesireAppHandler{ recipeBuilders: builders, bbsClient: bbsClient, logger: logger, } }
import ( "encoding/json" "io/ioutil" "net/http" "github.com/cloudfoundry-incubator/bbs" "github.com/cloudfoundry-incubator/bbs/models" "github.com/cloudfoundry-incubator/runtime-schema/cc_messages" "github.com/cloudfoundry-incubator/runtime-schema/metric" "github.com/cloudfoundry-incubator/stager/backend" "github.com/cloudfoundry-incubator/stager/cc_client" "github.com/pivotal-golang/lager" ) const ( StagingStartRequestsReceivedCounter = metric.Counter("StagingStartRequestsReceived") StagingStopRequestsReceivedCounter = metric.Counter("StagingStopRequestsReceived") ) type StagingHandler interface { Stage(resp http.ResponseWriter, req *http.Request) StopStaging(resp http.ResponseWriter, req *http.Request) } type stagingHandler struct { logger lager.Logger backends map[string]backend.Backend ccClient cc_client.CcClient diegoClient bbs.Client }
"path" "sync" "sync/atomic" "time" "github.com/cloudfoundry-incubator/auctioneer" "github.com/cloudfoundry-incubator/bbs/models" "github.com/cloudfoundry/gunk/workpool" "github.com/cloudfoundry-incubator/runtime-schema/metric" "github.com/pivotal-golang/clock" "github.com/pivotal-golang/lager" ) const ( convergeLRPRunsCounter = metric.Counter("ConvergenceLRPRuns") convergeLRPDuration = metric.Duration("ConvergenceLRPDuration") malformedSchedulingInfosMetric = metric.Counter("ConvergenceLRPPreProcessingMalformedSchedulingInfos") malformedRunInfosMetric = metric.Counter("ConvergenceLRPPreProcessingMalformedRunInfos") actualLRPsDeleted = metric.Counter("ConvergenceLRPPreProcessingActualLRPsDeleted") orphanedRunInfosMetric = metric.Counter("ConvergenceLRPPreProcessingOrphanedRunInfos") domainMetricPrefix = "Domain." desiredLRPs = metric.Metric("LRPsDesired") claimedLRPs = metric.Metric("LRPsClaimed") unclaimedLRPs = metric.Metric("LRPsUnclaimed") runningLRPs = metric.Metric("LRPsRunning") missingLRPs = metric.Metric("LRPsMissing")
"encoding/json" "net/http" "time" "github.com/cloudfoundry-incubator/bbs/models" "github.com/cloudfoundry-incubator/runtime-schema/cc_messages" "github.com/cloudfoundry-incubator/runtime-schema/metric" "github.com/cloudfoundry-incubator/stager/backend" "github.com/cloudfoundry-incubator/stager/cc_client" "github.com/pivotal-golang/clock" "github.com/pivotal-golang/lager" ) const ( // Metrics stagingSuccessCounter = metric.Counter("StagingRequestsSucceeded") stagingSuccessDuration = metric.Duration("StagingRequestSucceededDuration") stagingFailureCounter = metric.Counter("StagingRequestsFailed") stagingFailureDuration = metric.Duration("StagingRequestFailedDuration") ) type CompletionHandler interface { StagingComplete(resp http.ResponseWriter, req *http.Request) } type completionHandler struct { ccClient cc_client.CcClient backends map[string]backend.Backend logger lager.Logger clock clock.Clock }
package metrics import ( "os" "time" "github.com/cloudfoundry-incubator/bbs/db/etcd" "github.com/cloudfoundry-incubator/runtime-schema/metric" "github.com/pivotal-golang/clock" "github.com/pivotal-golang/lager" ) const ( metricsReportingDuration = metric.Duration("MetricsReportingDuration") bbsMasterElected = metric.Counter("BBSMasterElected") ) type PeriodicMetronNotifier struct { Interval time.Duration ETCDOptions *etcd.ETCDOptions Logger lager.Logger Clock clock.Clock } func NewPeriodicMetronNotifier(logger lager.Logger, interval time.Duration, etcdOptions *etcd.ETCDOptions, clock clock.Clock, ) *PeriodicMetronNotifier { return &PeriodicMetronNotifier{
package handlers import ( "net/http" "time" "github.com/cloudfoundry-incubator/runtime-schema/metric" "github.com/pivotal-golang/lager" ) const ( requestLatency = metric.Duration("RequestLatency") requestCount = metric.Counter("RequestCount") ) func LogWrap(logger lager.Logger, handler http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { requestLog := logger.Session("request", lager.Data{ "method": r.Method, "request": r.URL.String(), }) requestLog.Info("serving") handler.ServeHTTP(w, r) requestLog.Info("done") } } func UnavailableWrap(handler http.Handler, serviceReady <-chan struct{}) http.HandlerFunc { handler = NewUnavailableHandler(handler, serviceReady)
"github.com/cloudfoundry-incubator/bbs" "github.com/cloudfoundry-incubator/bbs/events" "github.com/cloudfoundry-incubator/bbs/models" "github.com/cloudfoundry-incubator/route-emitter/nats_emitter" "github.com/cloudfoundry-incubator/route-emitter/routing_table" "github.com/cloudfoundry-incubator/route-emitter/syncer" "github.com/cloudfoundry-incubator/routing-info/cfroutes" "github.com/cloudfoundry-incubator/runtime-schema/metric" "github.com/pivotal-golang/clock" "github.com/pivotal-golang/lager" ) var ( routesTotal = metric.Metric("RoutesTotal") routesSynced = metric.Counter("RoutesSynced") routeSyncDuration = metric.Duration("RouteEmitterSyncDuration") routesRegistered = metric.Counter("RoutesRegistered") routesUnregistered = metric.Counter("RoutesUnregistered") ) type Watcher struct { bbsClient bbs.Client clock clock.Clock table routing_table.RoutingTable emitter nats_emitter.NATSEmitter syncEvents syncer.Events logger lager.Logger }