User Tools

Site Tools


uls:agents:develop

This is an old revision of the document!


Roll Your Own

If you do not find any matching agent, you can develop your own and send values to the ULS-server. You may use

within your agent to send values to the ULS-server.

Bash Shell Scripts

The ULS-Agent for Linux offers executable scripts to transfer values to the ULS-server (and more).

Perl Modul

When you develop your own ULS-agents by using Perl then you might be interested in the Uls2.pm Perl Module. It generates files in the ULS Value File Format which are then transferred to the ULS-server by using a script of the ULS-Client for Unix. It is e.g. used in the ULS-Client for Oracle Databases.

ULS value files

Use your own programming language or scripting environment to acquire your metrics and generate a file in the ULS Value File Format and place the file in /tmp/uls or in a directory of its own call:

flush_test_values /my/own/directory

All files with an .uls extension are transferred to the ULS-server and the directory is removed.

HTTP Calls

The base technology of all communication to the ULS-server are http calls. Any client may use this “low-level” technology to send directly values to the ULS-server.

:!: But remember: if the connection fails for any reason, you must take care of non-delivered values!

You should find the explanation of the different HTTP-calls in the description of the ULS Value File Format. Have also a look at the examples at the bottom of the page.

put_test_value

Send a simple value:

put_test_value.s2w
  ?hostname=<hostname>
  &section=<section>
  &teststep=<teststep>
  &details=<detail>
  &date=<date>
  &time=<time>
  &wert=<value>
  &einheit=<unit>
  &access=<access>

put_test_value_unique

Send a unique value:

put_test_value_unique.s2w
  ?hostname=<hostname>
  &section=<section>
  &teststep=<teststep>
  &details=<detail>
  &date=<date>
  &time=<time>
  &wert=<value>
  &einheit=<unit>
  &access=<access>

put_test_value_nodup

No duplicates:

put_test_value_nodup.s2w
  ?hostname=<hostname>
  &section=<section>
  &teststep=<teststep>
  &details=<detail>
  &date=<date>
  &time=<time>
  &elapsed=<elapsed>
  &wert=<value>
  &einheit=<unit>
  &access=<access>

put_test_counter

Work with a counter:

put_test_counter.s2w
  ?hostname=<hostname>
  &section=<section>
  &teststep=<teststep>
  &details=<detail>
  &date=<date>
  &time=<time>
  &wert=<value>
  &mode=<cmode>
  &access=<access>

put_test_zeile

Send many detail/value/unit tuples in one HTTP-call:

put_test_zeile.s2w
  ?hostname=<hostname>
  &section=<section>
  &teststep=<teststep>
  &date=<date>
  &time=<time>
  &access=<access>
  &w=<detail>:<value>:<unit>[:<detail>:<value>:<unit>]...
  &access=<access>

put_test_zeile_unique

Send many unique detail/value/unit tuples in one HTTP-call:

put_test_zeile_unique.s2w
  ?hostname=<hostname>
  &section=<section>
  &teststep=<teststep>
  &date=<date>
  &time=<time>
  &access=<access>
  &w=<detail>:<value>:<unit>[:<detail>:<value>:<unit>]...
  &access=<access>

put_test_zeile_nodup

Send many no-duplicate detail/value/unit tuples in one HTTP-call:

put_test_zeile_nodup.s2w
  ?hostname=<hostname>
  &section=<section>
  &teststep=<teststep>
  &date=<date>
  &time=<time>
  &elapsed=<elapsed>
  &w=<detail>:<value>:<unit>[:<detail>:<value>:<unit>]...
  &access=<access>

put_test_blob

Send a file as blob:

put_test_blob.s2w
  ?hostname=<hostname>
  &section=<section>
  &teststep=<teststep>
  &details=<detail>
  &date=<date>
  &time=<time>
  &fname=<local filename>
  &name=<value>
  &access=<access>

put_test_image

Send a file as image:

put_test_image.s2w
  ?hostname=$hostname
  &section=<section>
  &teststep=<teststep>
  &details=<detail>
  &date=<date>
  &time=<time>
  &fname=<local filename>
  &name=<value>
  &access=<access>

put_test_doku

Send a teststep documentation expression:

put_test_doku.s2w
  ?hostname=<hostname>
  &section=<section>
  &teststep=<teststep>
  &doku=<value>

doku_upload

Send a source (server) documentation expression:

doku_upload.s2w
  ?hostname=<hostname>
  &date=<date>
  &time=<time>
  &beschreibung=<value>
  &fname=<local filename>
  &name=<value>

General Usage

httpget

Example with httpget: FIXME

wget.exe

wget.exe can be used to execute HTTP-calls. Here is an example:

C:\> wget.exe [-q] -O - --http-user=<myuser> --http-passwd=<mypwd>  "http://<uls_server_ip>:<port>/<http_call>"

Or, with put_test_value:

C:\> wget.exe [-q] -O - --http-user=<myuser> --http-passwd=<mypwd> "http://<uls_server_ip>:<port>/put_test_value.s2w
         ?hostname=<hostname>
         &section=<section>
         &teststep=<teststep>
         &details=<detail>
         &date=<date>
         &time=<time>
         &wert=<value>
         &einheit=<unit>"
uls/agents/develop.1384184124.txt.gz · Last modified: 2014-01-03 13:07 (external edit)