DARMA-tasking / vt

DARMA/vt => Virtual Transport
Other
35 stars 8 forks source link

#2183: LDMS: add stream for phase data #2184

Open lifflander opened 1 year ago

lifflander commented 1 year ago

Fixes #2183

github-actions[bot] commented 1 year ago

Pipelines results

PR tests (gcc-12, ubuntu, mpich)

Build for 1c98fbaf5db32fca59564ede766eb3edeb123374 (2023-11-09 17:49:25 UTC)

FAILED: src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx.o 
/usr/bin/ccache /usr/lib/ccache/g++ -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DVT_NO_COLOR_ENABLED -I/vt/lib/CLI -I/build/vt/release -I/vt/src -I/vt/lib/json/include -I/vt/lib/brotli/c/include -I/vt/lib/libfort/lib -isystem /ovis/LDMS_install/include -isystem /vt/lib/fmt/include -isystem /vt/lib/EngFormat-Cpp/include -isystem /build/checkpoint/install/include -O3 -DNDEBUG -Wall -pedantic -Wshadow -Wno-unknown-pragmas -Wsign-compare -ftemplate-backtrace-limit=100 -Werror -std=c++17 -MD -MT src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx.o -MF src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx.o.d -o src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx.o -c /build/vt/src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx
In file included from /vt/src/vt/vrt/collection/manager.impl.h:69,
                 from /vt/src/vt/vrt/collection/manager.h:1773,
                 from /vt/src/vt/scheduler/scheduler.cc:49,
                 from /build/vt/src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx:5:
/vt/src/vt/vrt/collection/balance/node_lb_data.h:267:24: error: 'nlohman' has not been declared
  267 |   void writeJSONToLDMS(nlohman::json& j);
      |                        ^~~~~~~
/vt/src/vt/vrt/collection/balance/node_lb_data.h:267:37: error: expected ',' or '...' before '&' token
  267 |   void writeJSONToLDMS(nlohman::json& j);
      |                                     ^
FAILED: examples/collection/CMakeFiles/migrate_collection.dir/Unity/unity_0_cxx.cxx.o 
/usr/bin/ccache /usr/lib/ccache/g++ -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DVT_NO_COLOR_ENABLED -I/vt/lib/CLI -I/vt/lib/json/include -I/vt/lib/brotli/c/include -I/vt/lib/libfort/lib -I/build/vt/release -I/vt/src -isystem /ovis/LDMS_install/include -isystem /vt/lib/fmt/include -isystem /vt/lib/EngFormat-Cpp/include -isystem /build/checkpoint/install/include -O3 -DNDEBUG -fdiagnostics-color=always -Wall -pedantic -Wshadow -Wno-unknown-pragmas -Wsign-compare -ftemplate-backtrace-limit=100 -Werror -std=c++17 -MD -MT examples/collection/CMakeFiles/migrate_collection.dir/Unity/unity_0_cxx.cxx.o -MF examples/collection/CMakeFiles/migrate_collection.dir/Unity/unity_0_cxx.cxx.o.d -o examples/collection/CMakeFiles/migrate_collection.dir/Unity/unity_0_cxx.cxx.o -c /build/vt/examples/collection/CMakeFiles/migrate_collection.dir/Unity/unity_0_cxx.cxx
In file included from /vt/src/vt/vrt/collection/manager.impl.h:69,
                 from /vt/src/vt/vrt/collection/manager.h:1773,
                 from /vt/src/vt/vrt/collection/collection_headers.h:49,
                 from /vt/src/vt/transport.h:69,
                 from /vt/examples/collection/migrate_collection.cc:44,
                 from /build/vt/examples/collection/CMakeFiles/migrate_collection.dir/Unity/unity_0_cxx.cxx:3:
/vt/src/vt/vrt/collection/balance/node_lb_data.h:267:24: error: 'nlohman' has not been declared
  2%0D%0A%0D%0A%0D%0A ==> And there is more. Read log. <==

Build log


JacobDomagala commented 11 months ago

Code used for reading the data:

#include <ldms/ldms.h>
#include <ldms/ldmsd_stream.h>
#include <ovis_util/util.h>

int stream_handler(ldmsd_stream_client_t c, void *ctxt,
                    ldmsd_stream_type_t stream_type,
                    const char *data, size_t data_len,
                    json_entity_t entity)
{
    // Process the received data
    printf("%.*s\n", (int)data_len, data);

    return 0;
}

int main()
{
    ldms_init(256);
    ldms_t ldms = ldms_xprt_new_with_auth("sock", "none", NULL);
    int rc = ldms_xprt_connect_by_name(ldms, "localhost", "10444", NULL, NULL);
    if(!rc){
      printf("Error code %d \n", rc);
    }
    ldmsd_stream_subscribe("LB_data", stream_handler, NULL);
    while (1){
         // Keep running to continue receiving data
    }
    ldms_xprt_put(ldms);
    return 0;
}

Config file: export HOSTNAME=localhost export COMPONENT_ID=1

load name=hello_sampler
config name=hello_sampler producer=${HOSTANAME} instance=${HOSTNAME}/hello_sampler component_id=${COMPONENT_ID} stream=LB_data

Script to launch the LDMS deamon:

#!/bin/bash

TOP=/ovis/LDMS_install
export LD_LIBRARY_PATH=$TOP/lib/:$TOP/lib:$LD_LIBRARY_PATH
export LDMSD_PLUGIN_LIBPATH=$TOP/lib/ovis-ldms
export ZAP_LIBPATH=$TOP/lib/ovis-ldms
export PATH=$TOP/sbin:$TOP/bin:$PATH
export PYTHONPATH=$TOP/lib/python2.7/site-packages

ldmsd -x sock:10444 -c /ldmsd.conf -l /tmp/demo_ldmsd_log -v DEBUG -r $(pwd)/ldmsd.pid