Collector Table Description

This document describes the usage of tables and their columns, based on elasticsearch storage implementation.

Metric table time bucket

Date format

  • second: yyyyMMddHHmmss
  • minute: yyyyMMddHHmm
  • hour: yyyyMMddHH
  • day: yyyyMMdd
  • month: yyyyMM

Tables of Register related

Application

  • Table name: application
  • Get or create a database record by “application_code”.
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value same as application_id
application_codeacKeywordThe application name, see agent.config
application_idaiIntegerAuto increment, is a signed integer
is_addressiaIntegerIs a boolean data. True(1), False(0)
address_idniIntegerA foreign key reference by network_address table
  • Column is_address
    • false. A real application, which has a custom application_code. At the same time, the address_id column value must to be 0.
    • true. A conjunction application based on IP address. address_id is registered in network_address table.

Instance

  • Table name: instance
  • Create a instance by application_id and agent_uuid
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value same as instance_id
application_idaiIntegerOwner application id
application_codeacTextOwner application code
agent_uuidiauKeywordUniquely identifies each server monitored by agent
register_timeirtLongFirst register time
instance_idiiIntegerAuto increment, is a unsigned integer
heartbeat_timeihtLongRepresent server is alive
os_infoioiTextA Json data.
is_addressiiaIntegerIs a boolean data. True(1), False(0)
address_idniIntegerA foreign key reference by network_address table
  • Column os_info
    • For example: {“osName”:“MacOS X”,“hostName”:peng-yongsheng",“processId”:1000,“ipv4s”:[“10.0.0.1”,“10.0.0.2”]}
  • Column heartbeat_time
    • Updated by agent heart beat [1]
    • Updated by JVM metric data [2]
    • Updated by trace segment data. [3]
    • Priority: [1] > [2] > [3]

NetworkAddress

  • Table name: network_address
  • Create a network address record by “network_address” and “span_layer”.
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value same as address_id
address_idniIntegerAuto increment, is a signed integer
network_addressnaKeywordHost name or IP address
src_span_layersslIntegerRegister by client or server side
server_typestIntegerSuch as component id, used for topology.

ServiceName

  • Table name: service_name
  • Create a service record by “service_name_keyword”, “application_id” and “src_span_type”.
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value same as service_id
service_idsiIntegerAuto increment, is a signed integer
service_namesnTextOperation name, used for fuzzy matching
service_name_keywordsnkKeywordOperation name, used for full matching
application_idaiIntegerOwner application id
src_span_typesstIntegerRegister from client or server side based on src_span_type

Table of Trace Metric related

ApplicationComponent

  • Table name: application_component_TimeDimension
  • TimeDimension contains minute, hour, day, month
  • It is primarily used for the view of node type in application topology.
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, time_bucket_metric_id
metric_idmiKeywordapplication_id_component_id
component_idciIntegerComponent id
application_idaiIntegerOwner application id
time_buckettbLongDate format

ApplicationMapping

  • Table name: application_mapping_TimeDimension
  • TimeDimension contains minute, hour, day, month
  • For example: Application A calls Application B, collector generates the following two metrics::
    • From the caller‘s trace data: A application -> B application’s IP address (Topology will use this metric when B application is not monitored by agent)
    • From the callee's trace data: A application -> B application (Topology will use this metric when B application is monitored by agent)
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, time_bucket_metric_id
metric_idmiKeywordapplication_id_mapping_application_id
application_idaiIntegerRegistered at server side.
mapping_application_idmaiIntegerRegistered at client side with the server's IP address.
time_buckettbLongDate format

ApplicationMetric

  • Table name: application_metric_TimeDimension
  • TimeDimension contains minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, time_bucket_metric_id
metric_idmiKeywordapplication_id_source_value
application_idaiIntegerOwner application id
source_valuesvIntegerCaller(0), Callee(1)
transaction_callst1LongThe total number of calls based on time_bucket
transaction_error_callst2LongThe total number of error calls, sums values aggregate by time_bucket
transaction_duration_sumt3LongThe total duration of calls based on time_bucket
transaction_error_duration_sumt4LongThe total duration of error calls based on time_bucket
transaction_average_durationt5LongThe average duration of all calls, used for order by this column in database.
business_transaction_callsb1Long
business_transaction_error_callsb2Long
business_transaction_duration_sumb3Long
business_transaction_error_duration_sumb4Long
business_transaction_average_durationb5Long
mq_transaction_callsm1Long
mq_transaction_error_callsm2Long
mq_transaction_duration_summ3Long
mq_transaction_error_duration_summ4Long
mq_transaction_average_durationm5Long
satisfied_counta1LongThe formula
tolerating_counta2Long
frustrated_counta3Long
time_buckettbLongDate format

ApplicationReferenceMetric

  • Table name: application_reference_metric_TimeDimension
  • TimeDimension contains minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, time_bucket_metric_id
metric_idmiKeywordfront_application_idbehind_application_idsource_value
front_application_idfaiInteger
behind_application_idbaiInteger
source_valuesvIntegerCaller(0), Callee(1)
transaction_callst1LongThe total number of calls based on time_bucket
transaction_error_callst2LongThe total number of error calls, sums values aggregate by time_bucket
transaction_duration_sumt3LongThe total duration of calls based on time_bucket
transaction_error_duration_sumt4LongThe total duration of error calls based on time_bucket
transaction_average_durationt5LongThe average duration of all calls, used for order by this column in database.
business_transaction_callsb1Long
business_transaction_error_callsb2Long
business_transaction_duration_sumb3Long
business_transaction_error_duration_sumb4Long
business_transaction_average_durationb5Long
mq_transaction_callsm1Long
mq_transaction_error_callsm2Long
mq_transaction_duration_summ3Long
mq_transaction_error_duration_summ4Long
mq_transaction_average_durationm5Long
satisfied_counta1LongThe formula
tolerating_counta2Long
frustrated_counta3Long
time_buckettbLongDate format

InstanceMapping

  • Table name: instance_mapping_TimeDimension
  • TimeDimension contains minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, time_bucket_metric_id
metric_idmiKeywordinstance_id_address_id
application_idaiIntegerThe instance_id's owner application id.
instance_idiiIntegerRegistered at server side.
address_idniIntegerRegistered at client side with the server's IP address.
time_buckettbLongDate format

InstanceMetric

  • Table name: instance_metric_TimeDimension
  • TimeDimension contains minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, time_bucket_metric_id
metric_idmiKeywordinstance_id_source_value
application_idaiInteger
instance_idiiInteger
source_valuesvIntegerCaller(0), Callee(1)
transaction_callst1LongThe total number of calls based on time_bucket
transaction_error_callst2LongThe total number of error calls, sums values aggregate by time_bucket
transaction_duration_sumt3LongThe total duration of calls based on time_bucket
transaction_error_duration_sumt4LongThe total duration of error calls based on time_bucket
transaction_average_durationt5LongThe average duration of all calls, used for order by this column in database.
business_transaction_callsb1Long
business_transaction_error_callsb2Long
business_transaction_duration_sumb3Long
business_transaction_error_duration_sumb4Long
business_transaction_average_durationb5Long
mq_transaction_callsm1Long
mq_transaction_error_callsm2Long
mq_transaction_duration_summ3Long
mq_transaction_error_duration_summ4Long
mq_transaction_average_durationm5Long
time_buckettbLongDate format

InstanceReferenceMetric

  • Table name: instance_reference_metric_TimeDimension
  • TimeDimension contains minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, time_bucket_metric_id
metric_idmiKeywordfront_instance_idbehind_instance_idsource_value
front_application_idfaiInteger
behind_application_idbaiInteger
front_instance_idfiiInteger
behind_instance_idbiiInteger
source_valuesvIntegerCaller(0), Callee(1)
transaction_callst1LongThe total number of calls based on time_bucket
transaction_error_callst2LongThe total number of error calls, sums values aggregate by time_bucket
transaction_duration_sumt3LongThe total duration of calls based on time_bucket
transaction_error_duration_sumt4LongThe total duration of error calls based on time_bucket
transaction_average_durationt5LongThe average duration of all calls, used for order by this column in database.
business_transaction_callsb1Long
business_transaction_error_callsb2Long
business_transaction_duration_sumb3Long
business_transaction_error_duration_sumb4Long
business_transaction_average_durationb5Long
mq_transaction_callsm1Long
mq_transaction_error_callsm2Long
mq_transaction_duration_summ3Long
mq_transaction_error_duration_summ4Long
mq_transaction_average_durationm5Long
time_buckettbLongDate format

ServiceMetric

  • Table name: service_metric_TimeDimension
  • TimeDimension contains minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, time_bucket_metric_id
metric_idmiKeywordservice_id_source_value
application_idaiInteger
instance_idiiInteger
service_idsiInteger
source_valuesvIntegerCaller(0), Callee(1)
transaction_callst1LongThe total number of calls based on time_bucket
transaction_error_callst2LongThe total number of error calls, sums values aggregate by time_bucket
transaction_duration_sumt3LongThe total duration of calls based on time_bucket
transaction_error_duration_sumt4LongThe total duration of error calls based on time_bucket
transaction_average_durationt5LongThe average duration of all calls, used for order by this column in database.
business_transaction_callsb1Long
business_transaction_error_callsb2Long
business_transaction_duration_sumb3Long
business_transaction_error_duration_sumb4Long
business_transaction_average_durationb5Long
mq_transaction_callsm1Long
mq_transaction_error_callsm2Long
mq_transaction_duration_summ3Long
mq_transaction_error_duration_summ4Long
mq_transaction_average_durationm5Long
time_buckettbLongDate format

ServiceReferenceMetric

  • Table name: service_reference_metric_TimeDimension
  • TimeDimension contains minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, time_bucket_metric_id
metric_idmiKeywordfront_service_idbehind_service_idsource_value
front_application_idfaiInteger
front_instance_idfiiInteger
front_service_idfsiInteger
behind_application_idbaiInteger
behind_instance_idbiiInteger
behind_service_idbsiInteger
source_valuesvIntegerCaller(0), Callee(1)
transaction_callst1LongThe total number of calls based on time_bucket
transaction_error_callst2LongThe total number of error calls, sums values aggregate by time_bucket
transaction_duration_sumt3LongThe total duration of calls based on time_bucket
transaction_error_duration_sumt4LongThe total duration of error calls based on time_bucket
transaction_average_durationt5LongThe average duration of all calls, used for order by this column in database.
business_transaction_callsb1Long
business_transaction_error_callsb2Long
business_transaction_duration_sumb3Long
business_transaction_error_duration_sumb4Long
business_transaction_average_durationb5Long
mq_transaction_callsm1Long
mq_transaction_error_callsm2Long
mq_transaction_duration_summ3Long
mq_transaction_error_duration_summ4Long
mq_transaction_average_durationm5Long
time_buckettbLongDate format

GlobalTrace

  • Table name: global_trace
  • The relationship between trace id and segment id is many to many.
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, global_trace_id_segment_id
segment_idsgiKeyword
trace_idtiKeyword
time_buckettbLongSecond date format, Date format

SegmentDuration

  • Table name: segment_duration
  • The relationship between trace id and segment id is many to many.
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, global_trace_id_segment_id
segment_idsgiKeyword
trace_idtiKeyword
application_idaiIntegerOwner of the segment
service_namesnTextThe entry span's operation name in this segment
durationddtLongThe cost duration of this segment
start_timedstLong
end_timedetLong
is_errordieLongIs a boolean data. True(1), False(0)
time_buckettbLongSecond date format, Date format

Segment

  • Table name: segment
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value same as segment_id
data_binarysdbBinaryThe protobuf segment binary encode by base64 scheme.
time_buckettbLongSecond date format, Date format

Tables of JVM Metric related

CpuMetric

  • Table name: cpu_metric_TimeDimension
  • TimeDimension contains second, minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is time_bucket_metric_id
metric_idmiKeywordthe value is instance_id
instance_idiiIntegerOwner instance id
usage_percentupDoubleCpu usage percent, sums values aggregate by time_bucket
timestLongThe records received times in this time bucket
time_buckettbLongDate format

GCMetric

  • Table name: gc_metric_TimeDimension
  • TimeDimension contains second, minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is time_bucket_metric_id
metric_idmiKeywordthe value is instance_id_phrase
instance_idiiIntegerOwner instance id
phrasepIntegerGCPhrase
countcLongGC count, sums values aggregate by time_bucket
timestLongThe records received times in this time bucket
durationdLongGC duration count, sums values aggregate by time_bucket
time_buckettbLongA formatted date

MemoryMetric

  • Table name: memory_metric_TimeDimension
  • TimeDimension contains second, minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is time_bucket_metric_id
metric_idmiKeywordthe value is instance_id_is_heap
instance_idiiIntegerOwner instance id
is_heapihIntegerIs a boolean data. True(1), False(0)
initinitLongSums values aggregate by time_bucket
maxmaxLongSums values aggregate by time_bucket
usedusedLongSums values aggregate by time_bucket
committedcdLongSums values aggregate by time_bucket
timestLongThe records received times in this time bucket
time_buckettbLongA formatted date

MemoryPoolMetric

  • Table name: memory_pool_metric_TimeDimension
  • TimeDimension contains second, minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is time_bucket_metric_id
metric_idmiKeywordthe value is instance_id_pool_type
instance_idiiIntegerOwner instance id
pool_typeptIntegerOwner instance id
initinitLongSums values aggregate by time_bucket
maxmaxLongSums values aggregate by time_bucket
usedusedLongSums values aggregate by time_bucket
committedctLongSums values aggregate by time_bucket
timestLongThe records received times in this time bucket
time_buckettbLongA formatted date

Table of Alarm metric related

ApplicationAlarm

  • Table name: application_alarm
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeapplication_id
application_idaiIntegerOwner application id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
last_time_bucketltbLongSecond date format. A formatted date

ApplicationAlarmList

  • Table name: application_alarm_list
  • TimeDimension contains minute, hour, day, month
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is time_bucket_metric_id
metric_idmiKeywordsource_valuealarm_typeapplication_id
alarm_contentaacText
application_idaiIntegerOwner application id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
time_buckettbLongA formatted date

ApplicationReferenceAlarm

  • Table name: application_reference_alarm
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeapplication_id
front_application_idfaiIntegerOwner application id
behind_application_idbaiIntegerOwner application id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
last_time_bucketltbLongSecond date format. A formatted date

ApplicationReferenceAlarmList

  • Table name: application_reference_alarm
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeapplication_id
front_application_idfaiIntegerOwner application id
behind_application_idbaiIntegerOwner application id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
time_buckettbLongSecond date format. A formatted date

InstanceAlarm

  • Table name: application_alarm
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeinstance_id
application_idaiIntegerOwner application id
instance_idiiIntegerOwner instance id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
last_time_bucketltbLongSecond date format. A formatted date

InstanceAlarmList

  • Table name: instance_alarm_list
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeinstance_id
application_idaiIntegerOwner application id
instance_idiiIntegerOwner instance id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
time_buckettbLongSecond date format. A formatted date

InstanceReferenceAlarm

  • Table name: instance_reference_alarm
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeinstance_id
front_application_idfaiIntegerOwner application id
front_instance_idfiiIntegerOwner instance id
behind_application_idbaiIntegerOwner instance id
behind_instance_idbiiIntegerOwner instance id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
last_time_bucketltbLongSecond date format. A formatted date

InstanceReferenceAlarmList

  • Table name: instance_reference_alarm_list
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeinstance_id
front_application_idfaiIntegerOwner application id
front_instance_idfiiIntegerOwner instance id
behind_application_idbaiIntegerOwner instance id
behind_instance_idbiiIntegerOwner instance id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
time_buckettbLongSecond date format. A formatted date

ServiceAlarm

  • Table name: service_alarm
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeservice_id
application_idaiIntegerOwner application id
instance_idiiIntegerOwner instance id
service_idsiIntegerOwner service id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
last_time_bucketltbLongSecond date format. A formatted date

ServiceAlarmList

  • Table name: service_alarm_list
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeservice_id
application_idaiIntegerOwner application id
instance_idiiIntegerOwner instance id
service_idsiIntegerOwner instance id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
time_buckettbLongSecond date format. A formatted date

ServiceReferenceAlarm

  • Table name: service_reference_alarm
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is source_valuealarm_typeservice_id
front_application_idfaiIntegerOwner application id
front_instance_idfiiIntegerOwner instance id
front_service_idfsiIntegerOwner service id
behind_application_idbaiIntegerOwner service id
behind_instance_idbiiIntegerOwner service id
behind_service_idbsiIntegerOwner service id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
last_time_bucketltbLongSecond date format. A formatted date

ServiceReferenceAlarmList

  • Table name: service_reference_alarm_list
Column NameShort NameData TypeDescription
_id_idKeywordprimary key, es speciality, the value is time_bucketsource_valuealarm_type_service_id
front_application_idfaiIntegerOwner application id
front_instance_idfiiIntegerOwner instance id
front_service_idfsiIntegerOwner service id
behind_application_idbaiIntegerOwner service id
behind_instance_idbiiIntegerOwner service id
behind_service_idbsiIntegerOwner service id
source_valuesvIntegerCaller(0), Callee(1)
alarm_typeaatIntegerERROR_RATE(0), SLOW_RTT(1)
alarm_contentaacText
time_buckettbLongSecond date format. A formatted date