Comments (9)
For completeness :
I add content of your previous comment here :
During performance test, we surely need something like access-log to easily figure out problems.
Some problems I have met so far:
- Frequent gc leading to registration update time out. (our elb can only keep udp session for 10s, time out means offline).
- We send msg to kafka synchronously, and one day kakfa has heavy load so it response slow (5ms), which leading to CoapServer thread blocked and unable to process registration update in time.
If I am able to provide a UplinkRequestReceiver of my own, access log can be easily implemented.
And also the link to an existing related issue : #696
from leshan.
First note that a LWM2M request or response could means several CoAP request. (e.g. when using blockwise transfer)
This is also true for response.
Then, do you want to monitor LWM2M request or CoAP request ?
- If you want to monitor LWM2M request we can try think about a new API to do that.
- If you want to monitor CoAP request, you need to deal with
org.eclipse.californium.core.network.interceptors.MessageInterceptor
but this is a Californium class, so if modification is needed better to ask to Californium project.
Currently we have org.eclipse.californium.core.network.interceptors.MessageInterceptor which can be called when request is received or when response is sent, but we can not pair them. Upon sendResponse callback we only have response as parameter, but we don't know it is response of which request, especially we don't know when the request is arrived.
A possible working solution. Store time in map with (Token + Identity) as key on receiveRequest
and in Response you should also find Token+Identity.
from leshan.
@sbernard31
Sorry for the late response, I got overrun by my work.
I want to monitor lwm2m request, I am using org.eclipse.californium.core.network.interceptors.MessageInterceptor
only because currently there is no api to monitor lwm2m request.
I used Store time in map with (Token + Identity) as key
to implement this feature, but I want to ignore registerUpdateRequest, this become very complex to implement (I can never know the parameter of sendResponse
is the resposne of what request).
from leshan.
Sorry for the late response, I got overrun by my work.
No Problem.
I want to monitor lwm2m request, I am using org.eclipse.californium.core.network.interceptors.MessageInterceptor only because currently there is no api to monitor lwm2m request.
Got it. I keep this in mind and will try to work on that when I found time.
I used Store time in map with (Token + Identity) as key to implement this feature, but I want to ignore registerUpdateRequest, this become very complex to implement (I can never know the parameter of sendResponse is the resposne of what request).
I understand but you must deal with MessageInterceptor
waiting I work on ☝️ .
Update request are POST with uri.size == 2 and first part of the uri = rd. (see RegisterResource)
I can never know the parameter of sendResponse is the resposne of what request
I don't get this 🤔
from leshan.
I can never know the parameter of sendResponse is the resposne of what request
Because we try to log request handling time, so we do that in the callback of org.eclipse.californium.core.network.interceptors.MessageInterceptor#sendResponse, but that method only have one parameter response
, there is no easy way to get the corresponding request.
from leshan.
@Nick-The-Uncharted does #1617 could solve your problem ? Let me know.
from leshan.
@sbernard31 Yes, this perfectly solved my problem, thanks a lot
from leshan.
@Nick-The-Uncharted, #1617 is now integrated in master
. It should be available in 2.0.0-M15. (#1612)
from leshan.
@Nick-The-Uncharted Thx to you for taking time to provide feedback to make Leshan better. 😉
from leshan.
Related Issues (20)
- Demo server configure PSK ID and PSK content HOT 4
- FW update test HOT 3
- CoAP version 0 not supported HOT 3
- Add new object HOT 3
- Plan for 2.0.0-M15 🎯 HOT 24
- Is OMA Object 9 resource 12 correct? HOT 2
- Is Leshan server ready for production in industry ? HOT 14
- [Firmware Update][Blockwise] HOT 8
- Should sending timestamped data in an observation request response be a supported use case? HOT 14
- The addition of a resource instance is not detected by LwM2mTestObject (3442) HOT 3
- Precision loss when deserialize BigDecimal with SenMLJSON / old JSON content format. HOT 1
- Fail to decode empty response to a Read operation HOT 4
- How Timstamp should be handled in LWM2M/Leshan ?
- ObservationListener.onError is no longer called on 5.00 responses HOT 5
- Increasing Leshan Contributor Community ?
- Issue with running Contiki-NG with latest release of Leshan (2.0.0-M15) HOT 9
- Plan for 2.0.0-M16 🎯 HOT 9
- How to address a tagged CBOR number value not being deserialized as base time in SenMLRecord? HOT 11
- update from `@CycloneDX/cyclonedx-node-yarn` project HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from leshan.