DDDHuang
2eae1088ac
fix(metrics): client metrics key name
2022-01-25 17:11:22 +08:00
lafirest
954e85bb73
fix(emqx_slow_subs): fix qos2 pattern matching error
2022-01-24 17:03:37 +08:00
lafirest
46f86204c0
fix(emqx_slow_subs): add ClientInfo into the args of the delivery.completed hook
2022-01-19 14:02:30 +08:00
lafirest
6414f7e55a
fix(emqx_slow_subs): add compatibility for old code
2022-01-19 09:50:31 +08:00
lafirest
696acbfc5c
fix(emqx_slow_subs): change on_publish_completed to on_delivery_completed
2022-01-19 09:50:31 +08:00
lafirest
44fe882f14
refactor(emqx_slow_subs): refactor slow subs
2022-01-19 09:50:31 +08:00
DDDHuang
6278951d57
fix: code style
2022-01-17 15:43:59 +08:00
DDDHuang
5397d80680
feat(metrics): session metrics & api format
2022-01-17 15:15:00 +08:00
Shawn
2da30465de
fix(merge): solve conflicts when merge 4.4 to 4.3
2022-01-14 15:45:33 +08:00
Shawn
a6408cee4f
fix(session): update testcases for emqx_session
2022-01-13 15:28:18 +08:00
Shawn
217acc0154
feat(rule): add new event 'delivery_dropped'
2022-01-12 20:11:08 +08:00
Shawn
9434c0fa6c
feat(hook): new emqx hook 'delivery.dropped'
2022-01-12 18:34:20 +08:00
lafirest
fef3fc27cb
refactor(emqx_slow_subs): refactor use moving average ( #6287 )
...
* refactor(emqx_slow_subs): refactor use moving average
* fix(emqx_slow_subs): change elapsed to latency, and fix some error
* fix(emqx_slow_subs): fix emqx_mgmt_api.erl indent
* fix(emqx_slow_subs): change api name
* fix(emqx_slow_subs): fix and improve some code
* fix(emqx_slow_subs): move clienid filed from latency_stats to session
2021-11-26 10:42:15 +08:00
lafirest
0357f7ad85
improve(emqx_st_statistics): optimize the parameters of on_publish_done ( #6151 )
...
* fix(emqx_st_statistics): optimize the parameters of on_publish_done
2021-11-15 11:00:04 +08:00
lafirest
a4a7cac647
fix(eqmx_st_statistics): add ignore_before_create in config ( #6140 )
...
1. allows not to process the message before the session is created
to solve the problem caused by clean session = false
2. fix some elvis errors
2021-11-12 14:00:48 +08:00
lafirest
f8acb31f89
feat: add slow topics statistics plugin
2021-11-03 17:20:07 +08:00
Zaiming Shi
6354e75626
chore: update copyrights
2021-04-23 20:43:00 +02:00
Shawn
7bf6ee0f4b
fix(mqtt-sn): sleep mode not working #4434 ( #4435 )
2021-03-29 17:51:49 +08:00
Zaiming Shi
b10a60cddb
fix(conninfo): Ensure receive_maximum do not exceed limit
2021-03-29 09:42:07 +02:00
tigercl
da4d71917f
fix(ignore-loop-deliver): fix issue#3738 ( #3741 )
2020-09-29 15:35:16 +08:00
JianBo He
e3489b9d46
refactor(style): improve all types declaration
...
- Add dialyzer for code analysis
- Correct all the module type declarations
- Use `-type()` to declaration a type instead of `-opaque`
(It is advantageous to the code dialyzer)
BROKEN CHANGES:
- Add a ?DEFAULT_SUBOPTS for emqx_broker:subscribe/1,2,3
- Remove the needless internal function `emqx_vm:port_info(PortTerm, Keys)`
2020-06-18 17:38:34 +08:00
terry-xiaoyu
6ad65d587e
feature(properties): add properties in message header
...
1. Add MQTT5.0 properties when invoking the hooks.
- Add a new key `properties` into the message header:
We used to put all of the properties into the `#message.headers`:
```erlang
#message{headers = #{'User-Property' => {<<"reason">>,<<"normal">>},
'Message-Expiry-Interval' => 60,
allow_publish => true}
```
I put them instead under a single key:
```erlang
#message{headers = #{properties =>
#{'User-Property' => {<<"reason">>,<<"normal">>},
'Message-Expiry-Interval' => 60},
allow_publish => true}
```
Note that the column `properties` may contain all the properties for
Publish and Will messages.
- Add `disconn_props` into the `Channel.conninfo`
- Add `puback_props` also into the message header:
```erlang
#message{headers = #{puback_props =>
#{'User-Property' => {<<"reason">>,<<"normal">>}},
allow_publish => true}
```
2. Change the data type of `#message.headers` and `#message.flags` to map.
It used to support `undefined`.
2020-06-17 18:46:26 +08:00
terry-xiaoyu
e806a96031
Change timestamps to millisecond
2020-04-15 09:03:52 +08:00
tigercl
8734922abb
Fix rap handling and keep the value of retain flag in bridge mode ( #3189 )
2020-01-17 11:37:28 +08:00
zhouzb
7ea75f4289
Update copyright
2020-01-03 18:31:08 +08:00
Feng Lee
46ca3f2f82
Add metrics for session's lifecircle
...
- session.created
- session.resumed
- session.takeovered
- session.discarded
- session.terminated
2019-12-30 09:29:41 +08:00
Feng Lee
b7ca3905a6
Breaking Change: Add new hooks for client and session lifecircle ( #3138 )
2019-12-27 16:31:06 +08:00
Feng Lee
578355442b
Add more metrics and improve the 'channel', 'session' modules ( #3128 )
2019-12-20 21:47:32 +08:00
Feng Lee
c5c99b7c4e
Improve 'emqx_ws_connection' module and add more test cases
2019-12-13 18:07:59 +08:00
Feng Lee
d1c3dec730
Optimize emqx_session and add more test cases
2019-12-11 13:44:52 +08:00
Feng Lee
0c377c67cd
Use 'erlang:system_time' to replace 'os:timestamp' ( #3088 )
...
Use 'erlang:system_time/1' to replace 'os:timestamp/0'
2019-12-09 16:27:25 +08:00
Feng Lee
dc3e7dc21c
Ignore the expired messages
2019-12-07 16:51:20 +08:00
Feng Lee
bbcd2bffc5
Improve the session module ( #3082 )
...
Improve the session module
2019-12-07 15:54:02 +08:00
Feng Lee
9c3273a2c6
Improve the process of handling MQTT control packets ( #3079 )
2019-12-06 19:51:06 +08:00
zhouzb
73275a2b4d
Replace inflight with inflight_cnt in STATS_KEYS
2019-11-18 10:24:23 +08:00
Feng Lee
7117dde879
Add more test cases for connection, channel and session modules
2019-10-21 17:14:50 +08:00
Feng Lee
aecda09b9a
Add more test cases
2019-10-19 20:18:34 +08:00
Feng Lee
cd4adbada0
Add more test cases for connection, channel and session modules
2019-10-18 18:53:31 +08:00
zhouzb
7512d6cb03
Check topic level for publish packet and optimize the handling of rap
2019-10-12 09:33:47 +08:00
Feng Lee
8ab682151d
Improve the connection and channel modules
...
- Rename the 'client_id' field to 'clientid'
- Support publish stats in channel module
- Update test cases for frame and channel modules
2019-09-29 10:22:02 +08:00
Feng Lee
98b7e3d948
Rename the type 'client()' to 'client_info()'
...
- Rename tye type 'client()' to 'client_info()'
- Rename the 'client' field of channel to 'client_info'
- Fix the function specs
2019-09-21 15:27:05 +08:00
Feng Lee
1a3261b186
Merge branch 'develop' into remove-protocol-module
2019-09-20 16:17:44 +08:00
Feng Lee
3202ed2392
Improve the 'channel' module and add more test cases
...
- Rename the 'Client' field to 'ClientInfo'
- Remove the 'expiry_interval' from session record
- Add more test cases for emqx_zone module
- Add more test cases for emqx_banned module
- Add more test cases for emqx_message module
- Remove 'sockname', 'conn_mod' fields from type 'client'
2019-09-20 14:38:16 +08:00
Feng Lee
8404fce6a6
Remove the function 'update_expiry_interval/2'
2019-09-18 19:49:34 +08:00
tigercl
fc553b8cee
Merge pull request #2803 from emqx/fix_msg_expiry
...
Fix Message-Expiry-Interval not working
2019-09-16 14:45:22 +08:00
zhouzb
066763248c
Fix dup flag
2019-09-05 18:35:29 +08:00
Feng Lee
847375d2fb
Improve connection and channel modules ( #2860 )
...
Improve the connection and channel modules
2019-09-05 14:17:15 +08:00
Feng Lee
82b9a7c301
Improve session takeover ( #2831 )
...
Implement the session takover/resumption across nodes
2019-08-23 14:09:00 +08:00
zhouzb
cff120c6d0
Handle session expiry interval correctly
2019-08-23 13:37:35 +08:00
Feng Lee
c69a2b1b48
Ensure session expiration ( #2825 )
...
Ensure session expiration
2019-08-23 09:35:29 +08:00