Usage Guide
I - Creation JSON files
platform-runtime-tools will automatically generate all files into the directory /etc/platform-info/ when it is installed. However, in case you want to refresh files or something wrong happens with the file generations. You can manually call services to get appropriate information files. You will have two information parts:
a. Core Information
sudo systemctl start platform-core-detection
Result:
$ cat /etc/platform-info/core.json
{"soc_id":"i7-8550U","gpu_name":"","memory_total_mb":970,"cpu_freq_mhz":"","soc_family":"","soc_revision":10,"cpu_count":1,"cpu_cache_kb":8480,"cpu_arch":"x86_64","board_model":"unknown","cpu_compatibility":"unknown","soc_name":"Intel i7-8550U","soc_vendor":"intel"}
b. Os information
sudo systemctl start platform-os-detection
Result:
$ cat /etc/platform-info/os.json
{"os_name":"Fedora","os_version":33}
II - Usage of the API verbs
a. Run the binding
To run this binding:
afb-binder --port=8001 --name=afb-platform-info --workdir=/var/local/lib/afm/applications/platform-info-binding --binding=lib/afb-platform-info.so -vvv
b. API verbs
get
This API has a verb called ‘get’. At this verb you will want to add your specific information requests. For example if you need to know the os version:
afb-client ws://localhost:8001/api
platform-info get "os_version"
ON-REPLY 0:platform-info/get: OK
{
"jtype":"afb-reply",
"request":{
"status":"success"
},
"response":33
}
Here is a list of what you can ask:
- “os_name”
- “os_version”
- “soc_vendor”
- “soc_family”
- “soc_id”
- “cpu_count”
- “board_model”
- “packages_afm_installed”
- “packages_number”
- “packages_installed”
get_all_info
And you have a verb called ‘get_all_info’ that returns a set of useful system information:
afb-client ws://localhost:8001/api
platform-info get_all_info
ON-REPLY 0:platform-info/get_all_info: OK
{
"jtype": "afb-reply",
"request": {
"status": "success"
},
"response": {
"os_name": "Fedora",
"os_version": 33,
"soc_vendor": "intel",
"soc_revision": 10,
"soc_family": "",
"soc_id": "i7-8550U",
"cpu_count": 1,
"board_model": "unknown",
"afm_packages_installed": [
{
"canbus-binding": "9.99.1+20201222+6+g2a919fc-29.23"
},
{
"canopen-binding": "1.1.0+20201215+1+gab54d92-12.37"
},
{
"platform-info-binding": "1.1.0-10.1"
},
{
"redis-tsdb-binding": "1.0.1-21.8"
},
{
"signal-composer-binding": "10.0.4-37.30"
},
{
"spawn-binding": "0.0.0+20210126+164049+0+g4abfbbbe-16.23"
}
],
"packages_number": [
{
"numbers": 672
}
],
"packages_installed": [
{
"NetworkManager.x86_64": "1:1.26.6-1.fc33"
},
{
"NetworkManager-libnm.x86_64": "1:1.26.6-1.fc33"
},
{
"acl.x86_64": "2.2.53-9.fc33"
},
{
"afb-binder.x86_64": "4.0.0beta5-29.2"
},
{
"afb-binding-devel.x86_64": "4.0.0beta5-33.7"
},
[...]
}
}