Quick Links:

bal | bbl | bdl | bsl

Defines

ball_logthrottle.h File Reference

Provide throttling equivalents of some of the ball_log macros. More...

Go to the source code of this file.

Defines

#define BALL_LOGTHROTTLE_STREAM_CONST_IMP(SEVERITY,MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_STREAM_IMP(SEVERITY,MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLEVA_CONST_IMP(SEVERITY,MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE,...)
#define BALL_LOGTHROTTLE_STREAM(SEVERITY,MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_TRACE(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_DEBUG(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_INFO(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_WARN(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_ERROR(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_FATAL(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_BLOCK(SEVERITY,MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_TRACE_BLOCK(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_DEBUG_BLOCK(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_INFO_BLOCK(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_WARN_BLOCK(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_ERROR_BLOCK(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLE_FATAL_BLOCK(MAX_SIMULTANEOUS_MESSAGES, NANOSECONDS_PER_MESSAGE)
#define BALL_LOGTHROTTLEVA(SEVERITY,MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE,...)
#define BALL_LOGTHROTTLEVA_TRACE(MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE,...)
#define BALL_LOGTHROTTLEVA_DEBUG(MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE,...)
#define BALL_LOGTHROTTLEVA_INFO(MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE,...)
#define BALL_LOGTHROTTLEVA_WARN(MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE,...)
#define BALL_LOGTHROTTLEVA_ERROR(MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE,...)
#define BALL_LOGTHROTTLEVA_FATAL(MAX_SIMULTANEOUS_MESSAGES,NANOSECONDS_PER_MESSAGE,...)

Detailed Description


Define Documentation

#define BALL_LOGTHROTTLE_STREAM_CONST_IMP (   SEVERITY,
  MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
for (const BloombergLP::ball::CategoryHolder *ball_logthrottle_cAtEgOrYhOlDeR \
             = BloombergLP::ball::Log::categoryHolderIfEnabled<(SEVERITY)>(   \
                        ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER)); \
     ball_logthrottle_cAtEgOrYhOlDeR;                                         \
     ball_logthrottle_cAtEgOrYhOlDeR = 0)                                     \
for (static BloombergLP::bdlmt::Throttle ball_logthrottle_tHrOtTlE =          \
                             BDLMT_THROTTLE_INIT((MAX_SIMULTANEOUS_MESSAGES), \
                                                 (NANOSECONDS_PER_MESSAGE));  \
     ball_logthrottle_cAtEgOrYhOlDeR                                          \
    && ball_logthrottle_tHrOtTlE.requestPermission();                         \
     )                                                                        \
for (BloombergLP::ball::Log_Stream ball_log_lOg_StReAm(                       \
                                 ball_logthrottle_cAtEgOrYhOlDeR->category(), \
                                 __FILE__,                                    \
                                 __LINE__,                                    \
                                 (SEVERITY));                                 \
     ball_logthrottle_cAtEgOrYhOlDeR;                                         \
     ball_logthrottle_cAtEgOrYhOlDeR = 0)
#define BALL_LOGTHROTTLE_STREAM_IMP (   SEVERITY,
  MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
for (const BloombergLP::ball::CategoryHolder *ball_logthrottle_cAtEgOrYhOlDeR \
                       = ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER); \
     ball_logthrottle_cAtEgOrYhOlDeR                                          \
    && ball_logthrottle_cAtEgOrYhOlDeR->threshold() >= (SEVERITY)             \
    && BloombergLP::ball::Log::isCategoryEnabled(                             \
                                          ball_logthrottle_cAtEgOrYhOlDeR,    \
                                          (SEVERITY));                        \
     ball_logthrottle_cAtEgOrYhOlDeR = 0)                                     \
for (static BloombergLP::bdlmt::Throttle ball_logthrottle_tHrOtTlE =          \
                     BDLMT_THROTTLE_INIT((MAX_SIMULTANEOUS_MESSAGES),         \
                                         (NANOSECONDS_PER_MESSAGE));          \
     ball_logthrottle_cAtEgOrYhOlDeR                                          \
    && ball_logthrottle_tHrOtTlE.requestPermission();                         \
     )                                                                        \
for (BloombergLP::ball::Log_Stream ball_log_lOg_StReAm(                       \
                                 ball_logthrottle_cAtEgOrYhOlDeR->category(), \
                                 __FILE__,                                    \
                                 __LINE__,                                    \
                                 (SEVERITY));                                 \
     ball_logthrottle_cAtEgOrYhOlDeR;                                         \
     ball_logthrottle_cAtEgOrYhOlDeR = 0)
#define BALL_LOGTHROTTLEVA_CONST_IMP (   SEVERITY,
  MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE,
  ... 
)
Value:
do {                                                                          \
    static BloombergLP::bdlmt::Throttle ball_logthrottle_tHrOtTlE =           \
                           BDLMT_THROTTLE_INIT((MAX_SIMULTANEOUS_MESSAGES),   \
                                               (NANOSECONDS_PER_MESSAGE));    \
    const BloombergLP::ball::CategoryHolder                                   \
                                          *ball_logthrottle_cAtEgOrYhOlDeR    \
            = BloombergLP::ball::Log::categoryHolderIfEnabled<(SEVERITY)>(    \
                      ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER));   \
    if (ball_logthrottle_cAtEgOrYhOlDeR &&                                    \
                           ball_logthrottle_tHrOtTlE.requestPermission()) {   \
        BloombergLP::ball::Log_Formatter ball_logthrottle_fOrMaTtEr(          \
                               ball_logthrottle_cAtEgOrYhOlDeR->category(),   \
                               __FILE__,                                      \
                               __LINE__,                                      \
                               (SEVERITY));                                   \
        BloombergLP::ball::Log::format(                                       \
                             ball_logthrottle_fOrMaTtEr.messageBuffer(),      \
                             ball_logthrottle_fOrMaTtEr.messageBufferLen(),   \
                             __VA_ARGS__);                                    \
    }                                                                         \
} while(0)
#define BALL_LOGTHROTTLE_STREAM (   SEVERITY,
  MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_IMP((SEVERITY),                                   \
                                (MAX_SIMULTANEOUS_MESSAGES),                  \
                                (NANOSECONDS_PER_MESSAGE))                    \
                                                         BALL_LOG_OUTPUT_STREAM
#define BALL_LOGTHROTTLE_TRACE (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_TRACE,   \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))              \
                                                         BALL_LOG_OUTPUT_STREAM
#define BALL_LOGTHROTTLE_DEBUG (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG,   \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))              \
                                                         BALL_LOG_OUTPUT_STREAM
#define BALL_LOGTHROTTLE_INFO (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_INFO,    \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))              \
                                                         BALL_LOG_OUTPUT_STREAM
#define BALL_LOGTHROTTLE_WARN (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_WARN,    \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))              \
                                                         BALL_LOG_OUTPUT_STREAM
#define BALL_LOGTHROTTLE_ERROR (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_ERROR,   \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))              \
                                                         BALL_LOG_OUTPUT_STREAM
#define BALL_LOGTHROTTLE_FATAL (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_FATAL,   \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))              \
                                                         BALL_LOG_OUTPUT_STREAM
#define BALL_LOGTHROTTLE_BLOCK (   SEVERITY,
  MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_IMP((SEVERITY),                                   \
                                (MAX_SIMULTANEOUS_MESSAGES),                  \
                                (NANOSECONDS_PER_MESSAGE))
#define BALL_LOGTHROTTLE_TRACE_BLOCK (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_TRACE,   \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))
#define BALL_LOGTHROTTLE_DEBUG_BLOCK (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG,   \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))
#define BALL_LOGTHROTTLE_INFO_BLOCK (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_INFO,    \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))
#define BALL_LOGTHROTTLE_WARN_BLOCK (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_WARN,    \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))
#define BALL_LOGTHROTTLE_ERROR_BLOCK (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_ERROR,   \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))
#define BALL_LOGTHROTTLE_FATAL_BLOCK (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE 
)
Value:
BALL_LOGTHROTTLE_STREAM_CONST_IMP(BloombergLP::ball::Severity::e_FATAL,   \
                                      (MAX_SIMULTANEOUS_MESSAGES),            \
                                      (NANOSECONDS_PER_MESSAGE))
#define BALL_LOGTHROTTLEVA (   SEVERITY,
  MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE,
  ... 
)
Value:
do {                                                                          \
    static BloombergLP::bdlmt::Throttle ball_logthrottle_tHrOtTlE =           \
                             BDLMT_THROTTLE_INIT((MAX_SIMULTANEOUS_MESSAGES), \
                                                 (NANOSECONDS_PER_MESSAGE));  \
    const BloombergLP::ball::CategoryHolder *ball_logthrottle_cAtEgOrYhOlDeR  \
                      = ball_log_getCategoryHolder(BALL_LOG_CATEGORYHOLDER);  \
    if (ball_logthrottle_cAtEgOrYhOlDeR->threshold() >= (SEVERITY)            \
       && BloombergLP::ball::Log::isCategoryEnabled(                          \
                                            ball_logthrottle_cAtEgOrYhOlDeR,  \
                                            (SEVERITY))                       \
       && ball_logthrottle_tHrOtTlE.requestPermission()) {                    \
        BloombergLP::ball::Log_Formatter ball_logthrottle_fOrMaTtEr(          \
                                 ball_logthrottle_cAtEgOrYhOlDeR->category(), \
                                 __FILE__,                                    \
                                 __LINE__,                                    \
                                 (SEVERITY));                                 \
        BloombergLP::ball::Log::format(                                       \
                               ball_logthrottle_fOrMaTtEr.messageBuffer(),    \
                               ball_logthrottle_fOrMaTtEr.messageBufferLen(), \
                               __VA_ARGS__);                                  \
    }                                                                         \
} while(0)
#define BALL_LOGTHROTTLEVA_TRACE (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE,
  ... 
)
Value:
BALL_LOGTHROTTLEVA_CONST_IMP(BloombergLP::ball::Severity::e_TRACE,        \
                                 (MAX_SIMULTANEOUS_MESSAGES),                 \
                                 (NANOSECONDS_PER_MESSAGE),                   \
                                 __VA_ARGS__)
#define BALL_LOGTHROTTLEVA_DEBUG (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE,
  ... 
)
Value:
BALL_LOGTHROTTLEVA_CONST_IMP(BloombergLP::ball::Severity::e_DEBUG,        \
                                 (MAX_SIMULTANEOUS_MESSAGES),                 \
                                 (NANOSECONDS_PER_MESSAGE),                   \
                                 __VA_ARGS__)
#define BALL_LOGTHROTTLEVA_INFO (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE,
  ... 
)
Value:
BALL_LOGTHROTTLEVA_CONST_IMP(BloombergLP::ball::Severity::e_INFO,         \
                                 (MAX_SIMULTANEOUS_MESSAGES),                 \
                                 (NANOSECONDS_PER_MESSAGE),                   \
                                 __VA_ARGS__)
#define BALL_LOGTHROTTLEVA_WARN (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE,
  ... 
)
Value:
BALL_LOGTHROTTLEVA_CONST_IMP(BloombergLP::ball::Severity::e_WARN,         \
                                 (MAX_SIMULTANEOUS_MESSAGES),                 \
                                 (NANOSECONDS_PER_MESSAGE),                   \
                                 __VA_ARGS__)
#define BALL_LOGTHROTTLEVA_ERROR (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE,
  ... 
)
Value:
BALL_LOGTHROTTLEVA_CONST_IMP(BloombergLP::ball::Severity::e_ERROR,        \
                                 (MAX_SIMULTANEOUS_MESSAGES),                 \
                                 (NANOSECONDS_PER_MESSAGE),                   \
                                 __VA_ARGS__)
#define BALL_LOGTHROTTLEVA_FATAL (   MAX_SIMULTANEOUS_MESSAGES,
  NANOSECONDS_PER_MESSAGE,
  ... 
)
Value:
BALL_LOGTHROTTLEVA_CONST_IMP(BloombergLP::ball::Severity::e_FATAL,        \
                                 (MAX_SIMULTANEOUS_MESSAGES),                 \
                                 (NANOSECONDS_PER_MESSAGE),                   \
                                 __VA_ARGS__)