Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Caliper based profiling #741

Merged
merged 8 commits into from
Aug 3, 2016
Merged

Commits on Aug 3, 2016

  1. build: Add --enable-caliper flag to ./configure

    Add an --enable-caliper option to ./configure to check for
    Caliper[1] support for use in profiling/tracing.
    
    Define caliper libs and flags accordingly.
    
    [1] https://github.com/LLNL/Caliper
    garlick authored and grondo committed Aug 3, 2016
    Configuration menu
    Copy the full SHA
    fadd892 View commit details
    Browse the repository at this point in the history
  2. build: use pkg-config for libcaliper, link only to stubs

    Switch to the use of pkg-config for libcaliper, and link only to
    libcaliper-stub by default. Full tracing can be enabled by preloading
    the libcaliper full symbols with LD_PRELOAD=libcaliper.so
    trws authored and grondo committed Aug 3, 2016
    Configuration menu
    Copy the full SHA
    ea61499 View commit details
    Browse the repository at this point in the history
  3. profiling: initial tracing support via libcaliper

    Add initial profiling support using libcaliper, creating a context
    for the broker main thread as well as module threads.
    
    Additionally, messages are traced via the dispatch code.
    garlick authored and grondo committed Aug 3, 2016
    Configuration menu
    Copy the full SHA
    3b82e96 View commit details
    Browse the repository at this point in the history
  4. broker: avoid tracing children of broker

    Unset CALI_SERVICES_ENABLE and CALI_CONFIG_PROFILE in flux-broker
    after profiling initialization to avoid tracing of child processes.
    trws authored and grondo committed Aug 3, 2016
    Configuration menu
    Copy the full SHA
    72e2219 View commit details
    Browse the repository at this point in the history
  5. profiling: enhance message tracing

    This update adds tracing for various properties of messages, RPCs,
    events, etc.  This will not give us all we need to get matches for
    all messages, but it's on the way.
    
    As an FYI, be aware that the profiling_msg_snapshot routine can
    be called due to messaging activity inside connector_init, so the
    profiling object is not ready, and potentially cause uninitialized
    nodes to be emitted.  This is currently addressed by a check and return
    in the snapshot routine, but if at some point those code-paths become
    threaded something fancier may be required.
    trws authored and grondo committed Aug 3, 2016
    Configuration menu
    Copy the full SHA
    37b89a5 View commit details
    Browse the repository at this point in the history
  6. broker: abstract profiling initialization

    Abstract broker and module caliper initialization into their
    own functions.
    grondo committed Aug 3, 2016
    Configuration menu
    Copy the full SHA
    ea06af9 View commit details
    Browse the repository at this point in the history
  7. cmd/flux-start: Add --caliper-profile option

    Add --caliper-profile=PROFILE option to flux-start, which causes
    
     LD_PRELOAD=libcaliper.so
    
    and
    
     CALI_CONFIG_PROFILE=$PROFILE
    
    to be set in the environment before invoking brokers. If Flux was
    not built with --enable-caliper, then this option issues an error.
    
    Unless already set in environment, CALI_LOG_VERBOSITY=0 is also set
    by default to quiet the Caliper logs to stderr.
    grondo committed Aug 3, 2016
    Configuration menu
    Copy the full SHA
    dc67fbc View commit details
    Browse the repository at this point in the history
  8. doc: document --caliper-profile option for flux-start

    In flux-start(1), document the --caliper-profile option
    grondo committed Aug 3, 2016
    Configuration menu
    Copy the full SHA
    2dc4fe5 View commit details
    Browse the repository at this point in the history