Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GlobalLog 需要设计过滤系统 #234

Closed
nevstop opened this issue Jan 10, 2024 · 5 comments
Closed

GlobalLog 需要设计过滤系统 #234

nevstop opened this issue Jan 10, 2024 · 5 comments
Assignees
Labels

Comments

@nevstop
Copy link
Contributor

nevstop commented Jan 10, 2024

No description provided.

@nevstop nevstop added Type:enhancement New feature or request Group:logEvent labels Jan 10, 2024
@nevstop nevstop moved this from Acknowledge to Todo in Communicable State Machine(CSM) Jan 29, 2024
@nevstop nevstop moved this from Todo to In Progress in Communicable State Machine(CSM) Feb 15, 2024
@nevstop nevstop self-assigned this Feb 19, 2024
@nevstop nevstop moved this from In Progress to Linked to PR in Communicable State Machine(CSM) Mar 3, 2024
@nevstop nevstop moved this from Linked to PR to Todo in Communicable State Machine(CSM) May 2, 2024
@nevstop nevstop moved this from Todo to Planned in Communicable State Machine(CSM) May 2, 2024
@nevstop nevstop added the P2 label Jun 10, 2024
@nevstop
Copy link
Contributor Author

nevstop commented Aug 17, 2024

**两部分功能:

  • 1、源头过滤,添加到GlobalEvent的API中,所有消息按照Filter后才发出。源头处理的api的规则,生成的log需要写上。
  • 2. 订阅端过滤,提供 utility API,在订阅段将他过滤掉**

按照大的分组过滤:

  • 1.类型(State/Status/UserLog/Error)
  • 2.CSM
  • 3.内部状态/外部消息/返回值

按照CSM的State进行过滤

  • 1. 设置过滤列表,不进行发送
  • 是否设置正则表达式?

3. 按照个数?如果超过了阈值(或者速率

错误肯定是不过滤的

@nevstop
Copy link
Contributor Author

nevstop commented Aug 18, 2024

API: Set/Get/Add/Removeu

@nevstop
Copy link
Contributor Author

nevstop commented Aug 18, 2024

大类:
按照类型的话,只需要设置大的种类就行了

  • (State/Status/UserLog/Error)
  • 按照CSM的话,只需要设置CSM的名称
    • 需要验证 Worker/Chain 模式的情况
  • 按照消息类型的话,只需要设置消息的种类,例如过滤内部消息
    • 内部状态:内部轮转的状态
    • 消息: Sync/Async
    • 状态:Status
    • 回复:Response/Async Response

@nevstop
Copy link
Contributor Author

nevstop commented Aug 18, 2024

CSM 进行过滤的话:

  • !所有的大类,都应该根据CSM进行过滤

其他:
具体的 State 过滤

  • 1. 根据名称进行过滤
  • 根据Group进行过滤
  • 根据正则表达式进行过滤?(是否有必要)
  • 如果速率过高,自动加入过滤列表中?(特殊考虑,在周期性的任务里面将非常有用

@nevstop
Copy link
Contributor Author

nevstop commented Aug 18, 2024

在其他的Issue中记录

如果速率过高,自动加入过滤列表中?(特殊考虑,在周期性的任务里面将非常有用)
#285

周期性的任务,会一直发送消息,这个通常会污染整个log,有效的消息就很少了。如果能够根据速率判断是个周期行的任务,就可以直接避免这种情况。例如:

  1. 启动后连续检测发送了5次相同的消息,那么任务这五个消息是重复性的;
  2. log中写入"重复消息,后台计数中";
  3. 然后就后台一直在计数,不再发送这个log;
  4. 后台继续监控速率
  5. 如果发现消息不再发送,log 中写入“重复消息不再发送"
  6. 然后恢复到正常的监控中

nevstop added a commit that referenced this issue Aug 24, 2024
nevstop added a commit that referenced this issue Aug 25, 2024
nevstop added a commit that referenced this issue Aug 25, 2024
@nevstop nevstop closed this as completed Aug 26, 2024
nevstop added a commit that referenced this issue Aug 29, 2024
* Create Dev202408

* [update] #290 add appending or not optional input for "CSMLS - Append Continious State (CSM)"

* [fix] #291 The Registry of status should not be removed after CSM exit. It should be unregistered explicitly.

* [important][add] Add CSM-Helper APIs for creating tools for CSM.

* #Template
[remove] Remove 'More template' mnu. Use  template VIs in ”File>>New..." instead.

* add some CSM VIs

* [add] add CSM - Run Script VI to execute multiple states once.
[add] add CSM Watchdog to ensure all CSM modules exit after application is exited.

* update icons

* [important] Reorganize all broadcast registry APIs to make them more user-friendly.

* [important] Reorganize all broadcast registry APIs to make them more user-friendly.

* [add] #289 Add two more api for Send/Post Message to CSM.

* fix issue

* [fix] #293 corner case in csm logger thread.

* fix https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/runs/10346730102/job/28635760679#step:3:156

* fix #296 P1

* [fix] #295 Stand-Alone CSM module should be able to register other module's status change.

* #234 按照大的分组过滤

* #234

* fix https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/runs/10539572898/job/29203289237?pr=292

* #234 log 中添加文件头,将 log 的内容写入

* [important] #234 Add Global Event Filter System

* mass compile

* #234 add StateType filter option

* #234 Add Filter from Source for global event filter system

* fix https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/runs/10553560526

* #298 add _script_add_vi_reference_case.vi

* [important] #298 Add "VI Reference" case for template, to provide interface to get CSM VI Ref.

* add CSM - Module VI Reference.vi

* add vi tester workflow

* update name

* update yml

* add more testcases

* [fix] #299 CSM Module name should be case insensitive.

* fix https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/runs/10570475803/job/29285005680

* ignore testcase change

* add test - build internal string.vi

* add testcase-Broadcast Registry.lvclass

* add a testcase

* [add] #300 add tool to fix "VI Reference" case in every CSM module VIs.

* csm error 的连线需要更清楚

* fix bug src\user.lib\_NEVSTOP\Communicable State Machine(CSM)\_csmHelper\API\Is CSM Module.vi

* update title

* [add] Add Show FP/BD buttons in toolbars.

* update tools

* #299

* update CSM - List Rules in Broadcast Registry.vi

* set template copy right to 2024.

* use lv2017 in workflows/Run Testcases.yml

* fix default path bug in CSM - Start File Logger.vi

* fix _xnode_csm_tool_support/CSM DebugTool Dialog.vi entry issue

---------

Co-authored-by: NEVSTOP <nevstop>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

No branches or pull requests

1 participant