github.com/lulzWill/go-agent@v2.1.2+incompatible/internal/limits.go (about)

     1  package internal
     2  
     3  import "time"
     4  
     5  const (
     6  	// app behavior
     7  
     8  	// ConnectBackoff is the wait time between unsuccessful connect
     9  	// attempts.
    10  	ConnectBackoff = 20 * time.Second
    11  	// HarvestPeriod is the period that collected data is sent to New Relic.
    12  	HarvestPeriod = 60 * time.Second
    13  	// CollectorTimeout is the timeout used in the client for communication
    14  	// with New Relic's servers.
    15  	CollectorTimeout = 20 * time.Second
    16  	// AppDataChanSize is the size of the channel that contains data sent
    17  	// the app processor.
    18  	AppDataChanSize           = 200
    19  	failedMetricAttemptsLimit = 5
    20  	failedEventsAttemptsLimit = 10
    21  
    22  	// transaction behavior
    23  	maxStackTraceFrames = 100
    24  	// MaxTxnErrors is the maximum number of errors captured per
    25  	// transaction.
    26  	MaxTxnErrors      = 5
    27  	maxTxnTraceNodes  = 256
    28  	maxTxnSlowQueries = 10
    29  
    30  	// harvest data
    31  	maxMetrics          = 2 * 1000
    32  	maxCustomEvents     = 10 * 1000
    33  	maxTxnEvents        = 10 * 1000
    34  	maxRegularTraces    = 1
    35  	maxSyntheticsTraces = 20
    36  	maxErrorEvents      = 100
    37  	maxHarvestErrors    = 20
    38  	maxHarvestSlowSQLs  = 10
    39  
    40  	// attributes
    41  	attributeKeyLengthLimit   = 255
    42  	attributeValueLengthLimit = 255
    43  	attributeUserLimit        = 64
    44  	// AttributeErrorLimit limits the number of extra attributes that can be
    45  	// provided when noticing an error.
    46  	AttributeErrorLimit       = 32
    47  	attributeAgentLimit       = 255 - (attributeUserLimit + AttributeErrorLimit)
    48  	customEventAttributeLimit = 64
    49  
    50  	// Limits affecting Config validation are found in the config package.
    51  
    52  	// RuntimeSamplerPeriod is the period of the runtime sampler.  Runtime
    53  	// metrics should not depend on the sampler period, but the period must
    54  	// be the same across instances.  For that reason, this value should not
    55  	// be changed without notifying customers that they must update all
    56  	// instance simultaneously for valid runtime metrics.
    57  	RuntimeSamplerPeriod = 60 * time.Second
    58  )