Print

Print


Hi,

I started looking at what comes out from cmsd in report stream. So, I have two
questions and an observation :)

1. There is one inconsistency between docs and the code:
- docs say servers will report their role as:
  <stats id="cmss">
    <role>chars</role>
  </stats>
- only "cms" gets actually sent.
This is probably the guilty "cms" string in XrdCms/XrdCmsCluster.cc:993
    static const char statfmt1[] = "<stats id=\"cms\">"

2. The docs also mention "cmsc" that should describe the client -- what kind of
client would that be? I also didn't grep it in the source.

3. In "cmsm", the manager part, I don't quite get the cmsm.sel thingy. E.g., I get:
    'cmsm' => {
      'sel' => {
        'w' => '0',    # Number of node selections for write access.
        'r' => '140',  # Number of node selections for read access.
        't' => '4058'  # Number of node selections.
      }

The 'r' contributions from all servers connected to this manager (all read-only,
so no write ops) sum up to '4058'. So, what is really the meaning of 'sel.t' and
'sel.r' then?

With time, both 'sel.r' and 'sel.t' grow, but the difference changes (in my case
it got smaller which seems strange).

What happens if a server disconnects and then re-connects? Will there be a
discontinuity of some kind in those numbers? Or will the manager cmsd just keep
the host identification and reuse it when the server comes back up?

4. After writing all this ... is anybody actually using this? What would be a
reasonable thing to store into MonALISA (or equivalent)? Is cmsd ever the
bottleneck / problematic part?

Cheers,
Matevz