Print this page
4471 DTrace count() with histogram
4472 DTrace full width distribution histograms
4473 DTrace frequency trails

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libdtrace/common/dtrace.h
          +++ new/usr/src/lib/libdtrace/common/dtrace.h
↓ open down ↓ 345 lines elided ↑ open up ↑
 346  346  extern int dtrace_handle_setopt(dtrace_hdl_t *,
 347  347      dtrace_handle_setopt_f *, void *);
 348  348  
 349  349  /*
 350  350   * DTrace Aggregate Interface
 351  351   */
 352  352  
 353  353  #define DTRACE_A_PERCPU         0x0001
 354  354  #define DTRACE_A_KEEPDELTA      0x0002
 355  355  #define DTRACE_A_ANONYMOUS      0x0004
      356 +#define DTRACE_A_TOTAL          0x0008
      357 +#define DTRACE_A_MINMAXBIN      0x0010
      358 +#define DTRACE_A_HASNEGATIVES   0x0020
      359 +#define DTRACE_A_HASPOSITIVES   0x0040
      360 +
      361 +#define DTRACE_AGGZOOM_MAX              0.95    /* height of max bar */
 356  362  
 357  363  #define DTRACE_AGGWALK_ERROR            -1      /* error while processing */
 358  364  #define DTRACE_AGGWALK_NEXT             0       /* proceed to next element */
 359  365  #define DTRACE_AGGWALK_ABORT            1       /* abort aggregation walk */
 360  366  #define DTRACE_AGGWALK_CLEAR            2       /* clear this element */
 361  367  #define DTRACE_AGGWALK_NORMALIZE        3       /* normalize this element */
 362  368  #define DTRACE_AGGWALK_DENORMALIZE      4       /* denormalize this element */
 363  369  #define DTRACE_AGGWALK_REMOVE           5       /* remove this element */
 364  370  
 365  371  struct dtrace_aggdata {
 366  372          dtrace_hdl_t *dtada_handle;             /* handle to DTrace library */
 367  373          dtrace_aggdesc_t *dtada_desc;           /* aggregation description */
 368  374          dtrace_eprobedesc_t *dtada_edesc;       /* enabled probe description */
 369  375          dtrace_probedesc_t *dtada_pdesc;        /* probe description */
 370  376          caddr_t dtada_data;                     /* pointer to raw data */
 371  377          uint64_t dtada_normal;                  /* the normal -- 1 for denorm */
 372  378          size_t dtada_size;                      /* total size of the data */
 373  379          caddr_t dtada_delta;                    /* delta data, if available */
 374  380          caddr_t *dtada_percpu;                  /* per CPU data, if avail */
 375  381          caddr_t *dtada_percpu_delta;            /* per CPU delta, if avail */
      382 +        int64_t dtada_total;                    /* per agg total, if avail */
      383 +        uint16_t dtada_minbin;                  /* minimum bin, if avail */
      384 +        uint16_t dtada_maxbin;                  /* maximum bin, if avail */
      385 +        uint32_t dtada_flags;                   /* flags */
 376  386  };
 377  387  
 378  388  typedef int dtrace_aggregate_f(const dtrace_aggdata_t *, void *);
 379  389  typedef int dtrace_aggregate_walk_f(dtrace_hdl_t *,
 380  390      dtrace_aggregate_f *, void *);
 381  391  typedef int dtrace_aggregate_walk_joined_f(const dtrace_aggdata_t **,
 382  392      const int, void *);
 383  393  
 384  394  extern void dtrace_aggregate_clear(dtrace_hdl_t *);
 385  395  extern int dtrace_aggregate_snap(dtrace_hdl_t *);
↓ open down ↓ 205 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX