sbernard31 / benchmark-clients Goto Github PK
View Code? Open in Web Editor NEWCommand line tool base on https://www.eclipse.org/leshan/ to simulate a fleet of clients
Command line tool base on https://www.eclipse.org/leshan/ to simulate a fleet of clients
When running #7 based on Leshan 2.0.0-M10 using , java -jar target/benchmark-clients-0.2.0-SNAPSHOT-jar-with-dependencies.jar -n 2 -u coap://leshan.eclipseprojects.io -e device%08d
I get :
2023-01-13 17:31:40,898 DEBUG o.e.l.b.c.BenchClient - Registration Failed : java.lang.NullPointerException
This doesn't happen with master
based on Leshan 1.3.1.
After activating LOG in TRACE I get :
2023-01-13 17:32:59,418 INFO o.e.l.c.c.LeshanClient - Starting Leshan client ...
2023-01-13 17:32:59,903 INFO .c.CaliforniumEndpointsManager - New endpoint created for server coap://leshan.eclipseprojects.io:5683 at coap://0.0.0.0:41041
2023-01-13 17:32:59,905 INFO .c.e.DefaultRegistrationEngine - Trying to register to coap://leshan.eclipseprojects.io:5683 ...
2023-01-13 17:32:59,907 INFO o.e.l.c.c.LeshanClient - Leshan client[endpoint:device00000001] started.
2023-01-13 17:32:59,906 WARN .c.e.DefaultRegistrationEngine - Unable to send register request
java.lang.NullPointerException: null
at org.eclipse.leshan.client.servers.ServersInfoExtractor.getDeviceSupportedBindingMode(ServersInfoExtractor.java:281)
at org.eclipse.leshan.client.engine.DefaultRegistrationEngine.register(DefaultRegistrationEngine.java:319)
at org.eclipse.leshan.client.engine.DefaultRegistrationEngine.registerWithRetry(DefaultRegistrationEngine.java:295)
at org.eclipse.leshan.client.engine.DefaultRegistrationEngine.access$600(DefaultRegistrationEngine.java:77)
at org.eclipse.leshan.client.engine.DefaultRegistrationEngine$RegistrationTask.run(DefaultRegistrationEngine.java:572)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Debugging this, it seems that client has no Device Object Enabler and so unable to get SupportedBindingMode.
Adding something like initializer.setInstancesForObject(DEVICE, new Device("manufacturer","modelnumber","serialnumber"));
seems to solve the issue.
I need to investigate more to understand why this does happen with previous version of Leshan but I guess SupportedBindingMode is new resource from LWM2M 1.1.
Hello Bernard! How are you?
Thank you for sharing your project!
I am conducting some controlled tests using your project.
In these tests, I need to increase the data rate that each device registered on the leshan server. Currently, the number of bytes is fixed at 98 record bytes, 26 bytes of device information and 22 bytes of server response (data captured in tcpdump).
Would it be possible to have an option that I can increase the amount of data that the device sends to the server? What is the maximum number of devices that can register with the server? If you are unable to make the change, could you please guide me where I can move to increase this amount of data?
In this way, when carrying out the tests, it is possible to control the data rate that only one device can send to the server. Thankful!
Hi,
As I can see only Leshan 1.3 is supported.
Is there maybe any existing benchmark project with support for Leshan 2?
Best regards,
Sonny
Hello All,
I would like to do a test on server Leshan; i want know how much of real Leshan clients can managed by one server leshan; that's why I want to know if these clients-benchmark do update resources as though they are real devices in the field (i.e. produce simulated measurements) or just make a connection (registration ...).
Thank you in advance!
Best regards,
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.