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.
The ULS-Agent for Linux offers executable scripts to transfer values to the ULS-server (and more).
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.
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 and execute:
flush_test_values /my/own/directory
All files in that directory with an .uls
extension are then transferred to the ULS-server
and the directory is removed.
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.
Send a simple value:
put_test_value.s2w ?hostname=<hostname> §ion=<section> &teststep=<teststep> &details=<detail> &date=<date> &time=<time> &wert=<value> &einheit=<unit> &access=<access>
Send a unique value:
put_test_value_unique.s2w ?hostname=<hostname> §ion=<section> &teststep=<teststep> &details=<detail> &date=<date> &time=<time> &wert=<value> &einheit=<unit> &access=<access>
No duplicates:
put_test_value_nodup.s2w ?hostname=<hostname> §ion=<section> &teststep=<teststep> &details=<detail> &date=<date> &time=<time> &elapsed=<elapsed> &wert=<value> &einheit=<unit> &access=<access>
Work with a counter:
put_test_counter.s2w ?hostname=<hostname> §ion=<section> &teststep=<teststep> &details=<detail> &date=<date> &time=<time> &wert=<value> &mode=<cmode> &access=<access>
Send many detail/value/unit tuples in one HTTP-call:
put_test_zeile.s2w ?hostname=<hostname> §ion=<section> &teststep=<teststep> &date=<date> &time=<time> &access=<access> &w=<detail>:<value>:<unit>[:<detail>:<value>:<unit>]... &access=<access>
Send many unique detail/value/unit tuples in one HTTP-call:
put_test_zeile_unique.s2w ?hostname=<hostname> §ion=<section> &teststep=<teststep> &date=<date> &time=<time> &access=<access> &w=<detail>:<value>:<unit>[:<detail>:<value>:<unit>]... &access=<access>
Send many no-duplicate detail/value/unit tuples in one HTTP-call:
put_test_zeile_nodup.s2w ?hostname=<hostname> §ion=<section> &teststep=<teststep> &date=<date> &time=<time> &elapsed=<elapsed> &w=<detail>:<value>:<unit>[:<detail>:<value>:<unit>]... &access=<access>
Send a file as blob:
put_test_blob.s2w ?hostname=<hostname> §ion=<section> &teststep=<teststep> &details=<detail> &date=<date> &time=<time> &fname=<local filename> &name=<value> &access=<access>
Send a file as image:
put_test_image.s2w ?hostname=$hostname §ion=<section> &teststep=<teststep> &details=<detail> &date=<date> &time=<time> &fname=<local filename> &name=<value> &access=<access>
Send a teststep documentation expression:
put_test_doku.s2w ?hostname=<hostname> §ion=<section> &teststep=<teststep> &doku=<value>
Send a source (server) documentation expression:
doku_upload.s2w ?hostname=<hostname> &date=<date> &time=<time> &beschreibung=<value> &fname=<local filename> &name=<value>
Example with httpget:
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> §ion=<section> &teststep=<teststep> &details=<detail> &date=<date> &time=<time> &wert=<value> &einheit=<unit>"