transactionAggregator.d.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { EventEmitter2 } from 'eventemitter2';
  2. import EWMA from './EWMA';
  3. import Histogram from './metrics/histogram';
  4. export interface Span {
  5. name: string;
  6. labels: any;
  7. kind: string;
  8. startTime: number;
  9. min: number;
  10. max: number;
  11. median: number;
  12. }
  13. export interface Variance {
  14. spans: Span[];
  15. count: number;
  16. min: number;
  17. max: number;
  18. median: number;
  19. p95: number;
  20. }
  21. export interface Route {
  22. path: string;
  23. meta: {
  24. min: number;
  25. max: number;
  26. count: number;
  27. meter: number;
  28. median: number;
  29. p95: number;
  30. };
  31. variances: Variance[];
  32. }
  33. export interface Trace {
  34. routes: Route[];
  35. meta: {
  36. trace_count: number;
  37. http_meter: number;
  38. db_meter: number;
  39. http_percentiles: {
  40. median: number;
  41. p95: number;
  42. p99: number;
  43. };
  44. db_percentiles: any;
  45. };
  46. }
  47. export interface TraceCache {
  48. routes: any;
  49. meta: {
  50. trace_count: number;
  51. http_meter: EWMA;
  52. db_meter: EWMA;
  53. histogram: Histogram;
  54. db_histograms: any;
  55. };
  56. }
  57. export declare class TransactionAggregator extends EventEmitter2 {
  58. private spanTypes;
  59. private cache;
  60. private privacyRegex;
  61. private worker;
  62. init(sendInterval?: number): void;
  63. destroy(): void;
  64. getAggregation(): TraceCache;
  65. validateData(packet: any): boolean;
  66. aggregate(packet: any): false | TraceCache;
  67. mergeTrace(aggregated: any, trace: any): void;
  68. updateSpanDuration(spans: any, newSpans: any): void;
  69. compareList(one: any[], two: any[]): boolean;
  70. matchPath(path: any, routes: any): any;
  71. prepareAggregationforShipping(): Trace;
  72. isIdentifier(id: any): boolean;
  73. censorSpans(spans: any): any;
  74. }