Skip to content

Commit 3248ba0

Browse files
authored
Merge branch 'master' into doc/pbs-extra-resources
2 parents d9d0b2c + 6a37d89 commit 3248ba0

File tree

5 files changed

+32
-51
lines changed

5 files changed

+32
-51
lines changed

docs/config_reference.rst

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Even if a configuration object contains a list of other objects, this is not ref
1515
For example, by ``systems.partitions.name`` we designate the ``name`` property of any partition object inside the ``partitions`` property of any system object inside the top level ``systems`` object.
1616
If we were to use indices, that would be rewritten as ``systems[i].partitions[j].name`` where ``i`` indexes the systems and ``j`` indexes the partitions of the i-th system.
1717
For cases, where the objects in a list are not homogeneous, e.g., the logging handlers, we surround the object type with ``..``.
18-
For example, the ``logging.handlers..filelog..name`` syntax designates the ``name`` attribute of the ``filelog`` logging handler.
18+
For example, the ``logging.handlers_perflog..filelog..name`` syntax designates the ``name`` attribute of the ``filelog`` logging handler.
1919

2020
.. |schemas/config.json| replace:: ``reframe/schemas/config.json``
2121
.. _schemas/config.json: https://github.com/reframe-hpc/reframe/blob/master/reframe/schemas/config.json
@@ -1138,12 +1138,10 @@ The additional properties for the ``file`` handler are the following:
11381138
The ``filelog`` log handler
11391139
---------------------------
11401140

1141-
This handler is meant primarily for performance logging and logs the performance of a test in one or more files.
1141+
This handler is meant for performance logging only and logs the performance of a test in one or more files.
11421142
The additional properties for the ``filelog`` handler are the following:
11431143

11441144

1145-
.. py:attribute:: logging.handlers..filelog..basedir
1146-
11471145
.. py:attribute:: logging.handlers_perflog..filelog..basedir
11481146
11491147
:required: No
@@ -1152,13 +1150,11 @@ The additional properties for the ``filelog`` handler are the following:
11521150
The base directory of performance data log files.
11531151

11541152

1155-
.. py:attribute:: logging.handlers..filelog..prefix
1156-
11571153
.. py:attribute:: logging.handlers_perflog..filelog..prefix
11581154
11591155
:required: Yes
11601156

1161-
This is a directory prefix (usually dynamic), appended to the :attr:`~config.logging.handlers..filelog..basedir`, where the performance logs of a test will be stored.
1157+
This is a directory prefix (usually dynamic), appended to the :attr:`~config.logging.handlers_perflog..filelog..basedir`, where the performance logs of a test will be stored.
11621158
This attribute accepts any of the check-specific `formatting placeholders <#config.logging.handlers_perflog.format>`__.
11631159
This allows to create dynamic paths based on the current system, partition and/or programming environment a test executes with.
11641160
For example, a value of ``%(check_system)s/%(check_partition)s`` would generate the following structure of performance log files:
@@ -1177,8 +1173,6 @@ The additional properties for the ``filelog`` handler are the following:
11771173
...
11781174
11791175
1180-
.. py:attribute:: logging.handlers..filelog..append
1181-
11821176
.. py:attribute:: logging.handlers_perflog..filelog..append
11831177
11841178
:required: No
@@ -1196,20 +1190,16 @@ The additional properties for the ``filelog`` handler are the following:
11961190
The ``graylog`` log handler
11971191
---------------------------
11981192

1199-
This handler sends log records to a `Graylog <https://www.graylog.org/>`__ server.
1193+
This handler is meant for performance logging only and sends log records to a `Graylog <https://www.graylog.org/>`__ server.
12001194
The additional properties for the ``graylog`` handler are the following:
12011195

1202-
.. py:attribute:: logging.handlers..graylog..address
1203-
12041196
.. py:attribute:: logging.handlers_perflog..graylog..address
12051197
12061198
:required: Yes
12071199

12081200
The address of the Graylog server defined as ``host:port``.
12091201

12101202

1211-
.. py:attribute:: logging.handlers..graylog..extras
1212-
12131203
.. py:attribute:: logging.handlers_perflog..graylog..extras
12141204
12151205
:required: No
@@ -1313,17 +1303,13 @@ The ``httpjson`` log handler
13131303
This handler sends log records in JSON format to a server using HTTP POST requests.
13141304
The additional properties for the ``httpjson`` handler are the following:
13151305

1316-
.. py:attribute:: logging.handlers..httpjson..url
1317-
13181306
.. py:attribute:: logging.handlers_perflog..httpjson..url
13191307
13201308
:required: Yes
13211309

13221310
The URL to be used in the HTTP(S) request server.
13231311

13241312

1325-
.. py:attribute:: logging.handlers..httpjson..extra_headers
1326-
13271313
.. py:attribute:: logging.handlers_perflog..httpjson..extra_headers
13281314
13291315
:required: No
@@ -1335,8 +1321,6 @@ The additional properties for the ``httpjson`` handler are the following:
13351321
.. versionadded:: 4.2
13361322

13371323

1338-
.. py:attribute:: logging.handlers..httpjson..extras
1339-
13401324
.. py:attribute:: logging.handlers_perflog..httpjson..extras
13411325
13421326
:required: No
@@ -1345,8 +1329,6 @@ The additional properties for the ``httpjson`` handler are the following:
13451329
A set of optional key/value pairs to be passed with each log record to the server.
13461330
These may depend on the server configuration.
13471331

1348-
.. py:attribute:: logging.handlers..httpjson..ignore_keys
1349-
13501332
.. py:attribute:: logging.handlers_perflog..httpjson..ignore_keys
13511333
13521334
:required: No
@@ -1376,8 +1358,6 @@ An example configuration of this handler for performance logging is shown here:
13761358
13771359
This handler transmits the whole log record, meaning that all the information will be available and indexable at the remote end.
13781360

1379-
.. py:attribute:: logging.handlers..httpjson..debug
1380-
13811361
.. py:attribute:: logging.handlers_perflog..httpjson..debug
13821362
13831363
:required: No
@@ -1389,8 +1369,6 @@ This handler transmits the whole log record, meaning that all the information wi
13891369
.. versionadded:: 4.1
13901370

13911371

1392-
.. py:attribute:: logging.handlers..httpjson..json_formatter
1393-
13941372
.. py:attribute:: logging.handlers_perflog..httpjson..json_formatter
13951373
13961374
A callable for converting the log record into JSON.
@@ -1402,8 +1380,8 @@ This handler transmits the whole log record, meaning that all the information wi
14021380
:arg record: The prepared log record.
14031381
The log record is a simple Python object with all the attributes listed in :attr:`~config.logging.handlers.format`, as well as all the default Python `log record <https://docs.python.org/3.8/library/logging.html#logrecord-attributes>`__ attributes.
14041382
In addition to those, there is also the special :attr:`__rfm_check__` attribute that contains a reference to the actual test for which the performance is being logged.
1405-
:arg extras: Any extra attributes specified in :attr:`~config.logging.handlers..httpjson..extras`.
1406-
:arg ignore_keys: The set of keys specified in :attr:`~config.logging.handlers..httpjson..ignore_keys`.
1383+
:arg extras: Any extra attributes specified in :attr:`~config.logging.handlers_perflog..httpjson..extras`.
1384+
:arg ignore_keys: The set of keys specified in :attr:`~config.logging.handlers_perflog..httpjson..ignore_keys`.
14071385
ReFrame always adds the default Python log record attributes in this set.
14081386
:returns: A string representation of the JSON record to be sent to the server or :obj:`None` if the record should not be sent to the server.
14091387

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Finally, ReFrame offers a powerful and efficient runtime for running and managin
1818
Publications
1919
============
2020

21-
* Slides [`Google Slides <https://docs.google.com/presentation/d/1GmO2Uf29SaLg36bPB9g9eeaKMN-bLlDJ5IvLGLQJfD8/edit?usp=share_link>`__] @ `8th EasyBuild User Meeting 2023 <https://easybuild.io/eum23/>`__.
21+
* Slides [`part 1 <https://docs.google.com/presentation/d/1GmO2Uf29SaLg36bPB9g9eeaKMN-bLlDJ5IvLGLQJfD8/edit?usp=share_link>`__][`part 2 <https://drive.google.com/file/d/1gZwch0BPc1wDEkMwbM4vxCpMzWIx-Lo1/view?usp=sharing>`__][`talk <https://youtu.be/0ApEKc185Bw>`__] @ `8th EasyBuild User Meeting 2023 <https://easybuild.io/eum23/>`__.
2222
* Slides [`pdf <https://drive.google.com/file/d/1vmaWyRHgtq3DrYhSCVBzR8U5ErKbxGNf/view?usp=sharing>`__] @ `7th EasyBuild User Meeting 2022 <https://easybuild.io/eum22/>`__.
2323
* Slides [`pdf <https://drive.google.com/file/d/1kNZu1QNBDDsbKarzwNWYjTGKgOukg-96/view?usp=sharing>`__] @ `6th EasyBuild User Meeting 2021 <https://easybuild.io/eum21/>`__.
2424
* Slides [`pdf <https://drive.google.com/open?id=1W7R5lfRkXvBpVDSZ7dVBadk_d3K4dFrS>`__] @ `5th EasyBuild User Meeting 2020 <https://github.com/easybuilders/easybuild/wiki/5th-EasyBuild-User-Meeting>`__.

docs/manpage.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1321,7 +1321,7 @@ Whenever an environment variable is associated with a configuration option, its
13211321

13221322
================================== ==================
13231323
Associated command line option N/A
1324-
Associated configuration parameter :attr:`~config.logging.handlers..graylog..address`
1324+
Associated configuration parameter :attr:`~config.logging.handlers_perflog..graylog..address`
13251325
================================== ==================
13261326

13271327

@@ -1338,7 +1338,7 @@ Whenever an environment variable is associated with a configuration option, its
13381338

13391339
================================== ==================
13401340
Associated command line option N/A
1341-
Associated configuration parameter :attr:`~config.logging.handlers..httpjson..url`
1341+
Associated configuration parameter :attr:`~config.logging.handlers_perflog..httpjson..url`
13421342
================================== ==================
13431343

13441344

@@ -1445,7 +1445,7 @@ Whenever an environment variable is associated with a configuration option, its
14451445

14461446
================================== ==================
14471447
Associated command line option :option:`--perflogdir`
1448-
Associated configuration parameter :attr:`~config.logging.handlers..filelog..basedir`
1448+
Associated configuration parameter :attr:`~config.logging.handlers_perflog..filelog..basedir`
14491449
================================== ==================
14501450

14511451

reframe/schemas/config.json

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -412,11 +412,9 @@
412412
"items": {
413413
"anyOf": [
414414
{"$ref": "#/defs/file_handler"},
415-
{"$ref": "#/defs/filelog_handler"},
416415
{"$ref": "#/defs/graylog_handler"},
417416
{"$ref": "#/defs/stream_handler"},
418-
{"$ref": "#/defs/syslog_handler"},
419-
{"$ref": "#/defs/httpjson_handler"}
417+
{"$ref": "#/defs/syslog_handler"}
420418
]
421419
}
422420
},
@@ -425,11 +423,9 @@
425423
"items": {
426424
"anyOf": [
427425
{"$ref": "#/defs/file_handler"},
428-
{"$ref": "#/defs/filelog_handler"},
429426
{"$ref": "#/defs/graylog_handler"},
430427
{"$ref": "#/defs/stream_handler"},
431-
{"$ref": "#/defs/syslog_handler"},
432-
{"$ref": "#/defs/httpjson_handler"}
428+
{"$ref": "#/defs/syslog_handler"}
433429
]
434430
},
435431
"minItems": 1
@@ -442,7 +438,8 @@
442438
{"$ref": "#/defs/filelog_handler"},
443439
{"$ref": "#/defs/graylog_handler"},
444440
{"$ref": "#/defs/stream_handler"},
445-
{"$ref": "#/defs/syslog_handler"}
441+
{"$ref": "#/defs/syslog_handler"},
442+
{"$ref": "#/defs/httpjson_handler"}
446443
]
447444
}
448445
},
@@ -566,17 +563,17 @@
566563
"logging/handlers*/file_append": false,
567564
"logging/handlers*/file_name": "",
568565
"logging/handlers*/file_timestamp": false,
569-
"logging/handlers*/filelog_append": true,
570-
"logging/handlers*/filelog_basedir": "./perflogs",
571-
"logging/handlers*/graylog_extras": {},
572-
"logging/handlers*/httpjson_extras": {},
573-
"logging/handlers*/httpjson_ignore_keys": [],
574-
"logging/handlers*/httpjson_json_formatter": null,
575-
"logging/handlers*/httpjson_extra_headers": {},
576-
"logging/handlers*/httpjson_debug": false,
577566
"logging/handlers*/stream_name": "stdout",
578567
"logging/handlers*/syslog_socktype": "udp",
579568
"logging/handlers*/syslog_facility": "user",
569+
"logging/handlers_perflog/filelog_append": true,
570+
"logging/handlers_perflog/filelog_basedir": "./perflogs",
571+
"logging/handlers_perflog/graylog_extras": {},
572+
"logging/handlers_perflog/httpjson_extras": {},
573+
"logging/handlers_perflog/httpjson_ignore_keys": [],
574+
"logging/handlers_perflog/httpjson_json_formatter": null,
575+
"logging/handlers_perflog/httpjson_extra_headers": {},
576+
"logging/handlers_perflog/httpjson_debug": false,
580577
"modes/options": [],
581578
"modes/target_systems": ["*"],
582579
"systems/descr": "",
@@ -609,9 +606,9 @@
609606
"systems/partitions/time_limit": null,
610607
"systems/partitions/devices": [],
611608
"systems/partitions/extras": {},
612-
"{systems,systems/partitions}/sched_options/ignore_reqnodenotavail": false,
613-
"{systems,systems/partitions}/sched_options/job_submit_timeout": 60,
614-
"{systems,systems/partitions}/sched_options/resubmit_on_errors": [],
615-
"{systems,systems/partitions}/sched_options/use_nodes_option": false
609+
"systems*/sched_options/ignore_reqnodenotavail": false,
610+
"systems*/sched_options/job_submit_timeout": 60,
611+
"systems*/sched_options/resubmit_on_errors": [],
612+
"systems*/sched_options/use_nodes_option": false
616613
}
617614
}

unittests/test_config.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,12 @@ def test_select_subconfig(site_config):
301301
assert site_config.get('systems/0/sched_options') == {
302302
'job_submit_timeout': 10
303303
}
304+
assert site_config.get(
305+
'systems/0/sched_options/resubmit_on_errors'
306+
) == []
307+
assert site_config.get(
308+
'systems/0/partitions/@gpu/sched_options/resubmit_on_errors'
309+
) == []
304310
assert site_config.get('environments/@PrgEnv-gnu/cc') == 'cc'
305311
assert site_config.get('environments/1/cxx') == 'CC'
306312
assert site_config.get('general/0/check_search_path') == ['c:d']

0 commit comments

Comments
 (0)