Skip to content

Very relaxed json for ldmsd

Benjamin Allan edited this page Oct 29, 2019 · 2 revisions

This is a sketch of possible config file alternative to the genders format of ldmsd v2/v3/v4.

It suggests a very-relaxed-json format (as described below).

The files here define an ldmsd configuration for daemon instance and node type.

It is assumed a cluster-oriented configuration deployment that differentiates on node type will deploy %INSTANCE.$nodetype.vrjson to the standard location where an [email protected] systemd script will find it.

Within the mycluster cluster, there are 'local' and 'agg' ldmsd daemon instances.

On host myl2, there is an L2 daemon instance ldmsd@mycluster using the mycluster.vrjson content in the standard location where an ldmsd systemd service script will find it.

We see in the vrjson files that there's a lot of repetitiveness in plug-in configuration. The current example is based on a real v3 ldmsd deployment. In v5, we could have plug-in 'base' be where we set the defaults for things like jobset : ${HOSTNAME}/job_info and eliminate the repetition. Whether 'job' should be in the sampler base is out of scope for this discussion.

very-relaxed-json

The json simplifications are:

  • There are no data types, so the only time you need quotes ("") is when you need to protect whitespace or a free-standing colon that is somehow data. The configured software is expected to manage any string to binary conversions.
  • Commas are not required between list items, as whitespace including line breaks is an item separator. Missing colons are an error. Commas, braces and square brackets surrounded by non-whitespace characters are part of the string, not punctuation of the data.
  • Comments start with # at the beginning of a line or '(whitespace)#'. String embedded # is not a comment
  • Variable expansion on the values is performed by the configured software.
  • Conversion to json is that all strings and long strings get double quoted and all lists get commas inserted.
  • Long strings that can extend across line-ends are delimited by """ as in python, and it is up to the configured software to determine what is done with the internal line-ends.

Main

LDMSCON

Tutorials are available at the conference websites

D/SOS Documentation

LDMS v4 Documentation

Basic

Configurations

Features & Functionalities

Working Examples

Development

Reference Docs

Building

Cray Specific
RPMs
  • Coming soon!

Adding to the code base

Testing

Misc

Man Pages

  • Man pages currently not posted, but they are available in the source and build

LDMS Documentation (v3 branches)

V3 has been deprecated and will be removed soon

Basic

Reference Docs

Building

General
Cray Specific

Configuring

Running

  • Running

Tutorial

Clone this wiki locally