How to redirect RFSWARM result in another database like InfluxDB or Prometheus?

Yes that’s almost right, just change scriptcount = 1 to scriptcount = 3 in this case because you have 3 scripts. With scriptcount = 1 the manager will only load the first one and ignore the others because you told it there was only 1 to load. If you set scriptcount = 10 but only have 3 sections it will error, probably with an error about the scenario file being corrupt.

Also make sure the value after test = matches a test case name in that robot file, otherwise the robot on the agent will error with something like Suite 'another_testsuite_to_run' contains no tests matching name 'Another test'.

Any questions, just ask, happy to help,

Dave.

@damies13

I got it.
I succeed to run my tests with mutiple scenarios and I get this graph:

The things is I want to display each scenario’s total robot on separate curve. I want an overview of scenarion [1] total_robot , then scenarion[2] total_robot, scenario[3] total_reobot on different curves not all the scenarios’ total_robot in the same curve.

Do you think this is possible?

Big thanks,

Regards,

Esther

Unfortunately I don’t think that’s currently possible as the the agent doesn’t send that information.

You could raise a feature request for that and I can add it into a future version of RFSwarm.

Dave.

Hello @damies13 ,

Ok I got it, no problem.
OK, I’ll think about raising a feature request . Do you think it might be interesting to add this kind of feauture.

I want to ask you as well, I’ve decided to add a new docker agent wich will be in charge of the ATU monitoring.
To do that, I’ve understanded that I need to add an agent filter cauz we don’t want the manager to use this agent to deploy some user_robot.
I’ve get that, in the RFSwarmAgent.ini file I need to add in the properties files an agent identifier like:
[Agent]
agentname = acceptance_agent
agentdir = /tmp/rfswarmagent
xmlmode = False
excludelibraries = BuiltIn,String,OperatingSystem,perftest
properties = ATuMonitor

In the manager RFSwarmManager.ini where can I add this filter so that the Manager couldn’t use this “ATuMonitor” agent to deploy some user_robots if needed?

In need to do all the process without graphical configuration.

Thank you again for all Dave,

Regards,

Esther

Hi Esther,

Sorry I guess that’s not clear enough in the documentation, in the GUI you do this:

  • click the test group settings:
  • that should open the row group settings, in the agent filter section click the add button (+):
    image
  • Then use the drop down menus to select require and your custom property
    image
  • Repeat this step on the other scripts but instead select exclude and your custom property
  • save the scenario

That custom property (properties = ATuMonitor ) you added to the ini file of the agent, was actually the purpose of being able to add custom properties :+1:

Once you save the scenario you can see the settings that get added to the .rfs file, just use the same format if you are generating a .rfs file.

Also if it’s a hassle creating the ini file for a docker image, you can pass the custom property in on the agent command line with the -p or --property option

Everything in RFSwarm should be achievable without the GUI, this is intentional for people using CI/CD pipelines. This is the reason the configuration files, the scenario file (.rfs), the report template, etc are all text files, the only file that is not clear text is the results database, but that as you know is SQLite, still a open non-proprietary and well known file format, I have tried to be very careful to keep everything accessible.

FYI about 24 hours from now I’ll be leaving for robocon in Finland, so if I don’t respond for a few days you’ll know why, it’s quite far to Finland from Australia, It’s currently just after midnight and 25°C here so I’m a little worried about how I’ll cope with the sudden temperature change.

Dave,

1 Like

Hi @damies13 ,

Thank you very much for your reply Dave, I got it.
I’m going to try this tomorrow.
I have a big RFSWARM’s presentation on February 19th at my company.
It freaks me out a little but I can do it.
Have a good trip, it’s a shame you won’t be passing through France, it will be wonderful to meet RFSWARM’s father.
Yeah indeed what a big difference in temperature.
I hope you enjoy your trip there.
I’ll let you rest a little without harassing you with too many messages :slight_smile:

Greetings,

Esther

1 Like

I’ll try something like that in the scenario.rfs file

[1]
robots = 10
delay = 0
rampup = 1800
run = 7200
test = Send a message on kafka topic
script = …/…/…/…/…/…/src/product/suites/api_test/Producer-consumer_Operating.robot
filters = [{‘rule’: ‘Require’, ‘optn’: ‘Agent: acceptance_agent’}]

[2]
robots = 10
delay = 0
rampup = 1800
run = 7200
test = grab_ATU_metrics
script = …/…/…/…/…/…/src/product/suites/api_test/ATU_script_monitor.robot
filters = [{‘rule’: ‘Exclude’, ‘optn’: ‘Agent: ATU_monitor’}]

scenario[1] will be the loading test on acceptance_agent.
scenario[2] will be ATU’s monitoring through ATU monitor

Is this the right way to handle this?

Regards,

Esther

Hi Esther,

Not through France this time, though it’s a place I’d love to visit, I actually wanted to catch the ferry from Helsinki to Tallinn, then hire a car and drive to southern Portugal via The Netherlands and France (there’s so much of Europe I want to see), but my wife didn’t agree, she sensibly said we should do that in summer.

In your .rfs file, I think you got the logic backwards on your monitor script

This looks good:

script = …/…/…/…/…/…/src/product/suites/api_test/Producer-consumer_Operating.robot
filters = [{‘rule’: ‘Require’, ‘optn’: ‘Agent: acceptance_agent’}]

This looks like it’s the inverse of what you want:

script = …/…/…/…/…/…/src/product/suites/api_test/ATU_script_monitor.robot
filters = [{‘rule’: ‘Exclude’, ‘optn’: ‘Agent: ATU_monitor’}]

It’s saying don’t use Agent: ATU_monitor but I think you want the monitoring script to use that agent.

you can do this (probably best):

filters = [{‘rule’: ‘Require’, ‘optn’: ‘Agent: ATU_monitor’}]

you can also do this:

filters = [{‘rule’: ‘Exclude’, ‘optn’: ‘Agent: acceptance_agent’}]

you could even do this (which is what I was suggesting in my previous email)

script = …/…/…/…/…/…/src/product/suites/api_test/Producer-consumer_Operating.robot
filters = [{‘rule’: ‘Exclude’, ‘optn’: ‘Agent: ATU_monitor’}]

It is probably better to use a Require rule than an Exclude rule where you can as the Require rules are more specific as in “make sure the agent has this property”, where an Exclude rule is more “use any agent that doesn’t have this property”

Hope that helps,

Dave.

1 Like

Hi @damies13 ,

OK I got it.
I just finished to modify your ATU monitor script and I’ll try to run it an agent docker container directly on the ATU machine, cauz our Devops told us that ssh request is not really secure and that the agent monitor shouldn’t take to much ATU server’s ressources.
What do you think about this?

That’s so great , it’ll be wonderful if you could do this kind of trip.
On my side, I’ve plan to go in china with my children next year, I think it should be an interesting experience as well.

Enjoy your trip,

Regards,

Esther

Hi Esther,

SSH actually stands of Secure Shell, it depends on how they maintain the servers whether it’s sucure or not, if the run old versions of SSH yes it can be insecure as there is a known securitty issue with some of the olde versions, but if kept upto date with all security fixes then it’s secure, sounds like making excuses for not doing their job but ok

Yeah if you run the RFSwarm agent on the AUT machine and don’t let it run robots it won’t have a big impact on the AUT machine’s resources, I didn’t suggest this way as most IT poeple don’t like software they are not familiar with on the AUT server, but if they are happy with that, then sure do that…

If you haven’t booked yet, and you want to see tradiional Chinese culture, I would suggest Taiwan instead, most of the tradiional culture in China was destroyed in the 1940-50’s but it was preserved in Taiwan (because political reasons, you can read about it online if you want the full story).
If you have booked already, there is still plenty of great experiences to have in China, The Great Wall and Tiananmen Square are worth visiting, though most of the great wall is not original but a recreation like most other historical sites in China, also wear masks to protect your lungs from the pollution, some days it can be really bad.

I hope you enjoy your trip, it will be a great learning experience for you and your children, especially if you’ve never been anywhere in asia.
A little tip, buy small packets of tissues, in most asian countries there is no toilet paper (some things are not fun to learn the hard way), also squat toilets are not fun, avoid them where you can.

I also want to wish you good luck with your presentation on the 19th hope it goes well for you :crossed_fingers:

Dave.

@damies13,

Yeah I think the same than you. It seems like they don’t wan to roll up their sleeves. We’re going to do it another way by using node exporter :face_exhaling:

Finally we’ve decided to didn’t put the atu_agent monitor on the ATU server. We’lle see.

Actually, I got to go in mainland China cauz I’m going there to improve my Madarin chinese but in Taiwan they use traditonal Chinese and I’m not confortable with those traditional caracters at all.

I hope I could reach fluency during my trip in Mainland China.
Have you ever been in China? It seems like you know so much things aboug Chinese culture.

Indeed, I already know all these Chinese culture’s special aspect and the pollution issue as well.
I’m learning Chinese for almost 3 years and I have many friends in mainland China, they like to share quite a few things about their culture.

Thanks so much for your good luck wishes (don’t really know how to write this in english).
When I’m done, I’ll share with you my presentation results.

Regards,

Esther

Hi Esther,

Every organsiation has it’s quirks, so I tried to build RFSwarm to be flexable and allow getting data from anywhere, the ssh method was just an example of how it can be done.
If you can get the node exporter to put the data into InfluxDB for you that’s all you really need so you can create graphs time aligned with your tests, and that should be enough for your presentation. In the future you could write a robot script to read the node exporter data from InfluxDB and send it to RFSwarm manager as metrics if you want to, mostly this is if you want to use RFSwarm reporter.

Cool I hope you really enjoy it. I have tried and failed badly at learning both, I recognise about 1/10 of what I need to be fluent, but really all you need to speak more than reading and writing.

My wife is Chinese, so after 25 years together I should know something, I worked in Singapore and Hong Kong, and visited other parts. My wife grew up in Indonesia so I’ve spent a lot of time there too, I can speak Chinese enough to get by, though I’m better at my wife’s dialect than manderin. It’s rated as one of the hardest languages to learn so if you get fluent I’ll be jelous, I wish I was better at learning languages.

This is fine, English is not a strict language and you can say the same thing many ways, this is one way and doesn’t sound odd to a native speaker.

At least you have google translate now, it’s so usefull I wish I had something like that in the 1990’s. make sure you have google translate installed and when you select the languages use the download to make the language dictionary local on your phone in case you don’t have an internet connection when you need a translation.

Dave.

Hello @damies13

Unfortunately , it seems it’s not possible to use node exporter with other time serie database than Prometheus.
So we’ll write an exporter like in python to convert nodeexporter metrics and we’ll send the json as waited by the manager. For now, we wanted all the data located in one database, the SQLITE one.

What an amazing coincidence!! your wife is chinese, I couldn’t guess that at all, that’s sure.
Well, I can understand. Indeed Chinese isn’t easy that’s why I choose to learn it :slight_smile:

Indeed in 1990’s it was an other world than today’s . This is a good advice, I’ll keep it under ma sleeve.
And even better today we have Chatgpd :grinning:

Have a nice trip,

Regards,
Esther

Hi, @AX_Esther do you mind sharing how you were able to execute this? I am currently doing performance testing with rfswarm and would like to check the agent metrics in Grafana. Thanks

Hi @ruke04 , sorry for the late reply.
I’m really busy at work lately.
Of course I don’t mind. If your main is to display rfswarm results on grafana and you don’t have another constraint , the easier way to do that is simple to used a SQLITE plugin on grafana to directly connect your Grafana instance to SQLITE rfswarm result data base.

It’s really simple to do it, you just need to download the plugin in Grafana extension library and activate it.
By the way, I don’t know your environnement so I can’t explain to you the exact way to do this but it’s quite simple to do.

Hope my comment will help you.
I’m not sure to come here those next days , so hope this could help you.

Regards,

1 Like

I never even thought about that, just futher justifys my choice in useing a standard open source file format over s propiraty one.

Thanks for extra info Esther :+1:

1 Like

My pleasure Dave :blush:
I hope you’re enjoying your trip.
In my side we’ve succeed to make the environnement ready for my presentation. Importing ATU metrics in grafana using nodeexporter was quite struggling but we made it :muscle:
Thanks for all,

Sincerely Esther

1 Like