Commit Graph

117 Commits

Author SHA1 Message Date
Eric Zhao d43275034c Update Maven plugin version and fix CircleCI build failure
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-30 14:52:14 +08:00
Eric Zhao eace8ab2ff Add support for adding param rule / authority rule in resource page of dashboard
- Decouple rule checking from controller (now in service)

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-30 14:52:14 +08:00
Carpenter Lee bd0de9464c Avoid ConcurrentModificationException when getting machine map in AppInfo (#205)
- Avoid ConcurrentModificationException when `getMachines()` by deep clone the machine map
- Enhance the code to avoid potential ConcurrentModificationException
- Add test cases
2018-10-29 20:19:29 +08:00
Eric Zhao 0c15dd9fe3
Fixes #198: Enhance rule checking in rule managers and Sentinel Dashboard (#202)
- Enhance rule checking in rule managers and Sentinel Dashboard frontend
- Enhance error information when reporting invalid fields in rule dialog

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-29 13:35:06 +08:00
shannon312 4198d217e5 Extract slash as a constant to reuse in FilterUtil (#204) 2018-10-29 09:22:39 +08:00
Carpenter Lee d726e62de2 Add BlockException parameter to UrlBlockHandler.blocked() method 2018-10-26 13:51:46 +08:00
Eric Zhao 531578ce54 Bump version to 1.3.0-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-24 15:52:11 +08:00
Eric Zhao 5aad448191 Refactor logic of getting resource name in Sentinel annotation
- Enhance resolve name logic in MethodUtil
- Add test case for MethodUtil

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-24 14:46:42 +08:00
waveng 078df9db4f Sentinel annotation supports method name as default resource name (#187) 2018-10-24 09:42:51 +08:00
Carpenter Lee 85c844eb9c
Config whether pid is needed in the log file name (#194)
- Change log file name;
- Add configurability to log file name and metric file name.
2018-10-23 19:03:23 +08:00
Eric Zhao 0855809149
Add support for authority rule configuration in Sentinel Dashboard (#189)
- Update dashboard API client to support authority rule commands
- Add REST API and frontend page for authority rules

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-23 09:20:17 +08:00
Carpenter Lee bbea62a5c7 Add StringUtil.capitalize() method 2018-10-19 11:04:30 +08:00
Carpenter Lee 1f3640fbfa
Change logo size 2018-10-19 09:27:41 +08:00
Eric Zhao 5ba1ccdea8 Typo fix for FlowThreadDemo
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-18 17:54:59 +08:00
Carpenter Lee aaf88b8a0a Rename ParamFlowRule.blockGrade to grade 2018-10-16 20:34:40 +08:00
Carpenter Lee b85d8ef1db Change behavior when exception occurred in InitExecutor. Will not call System.exit(), just print stack trace 2018-10-16 20:24:02 +08:00
jasonjoo2010 d861a364c9 Fix bug for body reading in HttpServerHandler of sentinel-transport-netty-http (#185)
- Do a manual copying from unpooled direct buffer.
2018-10-16 17:44:28 +08:00
Eric Zhao 7626bf4a49 Code enhancement for #161
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-16 17:06:36 +08:00
Carpenter Lee ba10d10aa9
Bug fix: fix wrong log file name checking (#182) 2018-10-16 17:03:22 +08:00
Carpenter Lee 52d16e62f2
update nacos version to 0.2.1
update nacos version to 0.2.1.  change default port. 8080 -> 8848. fix port conflict.
2018-10-16 14:05:20 +08:00
jasonjoo2010 0916a9bfa2 Enhancements in transport-netty-http and properties related (#161)
* sentinel-transport-netty-http will also retry when port specified has been used
* LogBase support variable arguments
* Remove duplicated JVM properties overriding in SentinelConfig
* Add VersionUtil to get version from jar
2018-10-16 11:23:53 +08:00
jasonjoo2010 a757950b9a Fix the wrong coordinate scaling of QPS chart (passed/blocked) in dashboard (#172)
Fixes #22 (by @jasonjoo2010)
2018-10-16 09:58:25 +08:00
Eric Zhao b06bb02b2c
Add rule configuration support for parameter flow control in Sentinel Dashboard (#176)
- Update dashboard API client to support authority and parameter flow commands
- Add REST API controller for parameter flow rules in dashboard
- Add pages for configuring parameter flow rules
- Update dependencies: upgrade Spring Boot to 2.x and remove unused dependencies
- Other refinements

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-12 16:15:13 +08:00
李豪 9ae079c152
Support degrade by exception count (#174)
* Add a new DegradeRule type, degrade by exception count in the last 60 seconds
* Add demo about degrading by exception count
2018-10-11 16:39:38 +08:00
Carpenter Lee 570c3ee5b7 Change intervalInSec of StatisticNode.rollingCounterInMinute to 60 seconds 2018-10-11 14:24:33 +08:00
李豪 03922dbf6c
Enhancement/normalize metric field (#170)
normalize metric fields and methods:
- rename exception to exceptionQps;
- remove ed postfix of all fields and methods about metrics;
2018-10-11 09:28:43 +08:00
Eric Zhao a25f25bea6 Add demo for SlotChainBuilder SPI
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-10-09 17:33:37 +08:00
Carpenter Lee 85540229e9 Change eagleEye log path when log base configured. 2018-10-08 19:46:38 +08:00
Carpenter Lee 4610bd3da6 Use System property to config log base dir
Signed-off-by: Carpenter Lee <hooleeucas@163.com>
2018-10-08 16:23:05 +08:00
Eric Zhao 94dc7966ae Bump version to 0.2.1-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-28 17:18:41 +08:00
Eric Zhao 1063974ceb Bump version to 0.2.0
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-27 17:59:23 +08:00
Eric Zhao 9c2683e6ba Log warn when amount of context exceeds the max capacity for the first time
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-27 16:53:07 +08:00
Eric Zhao 87076a6977 Code and javadoc refinement
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-27 16:51:30 +08:00
Eric Zhao 5f5443a546 Update sample count for ParameterMetric
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-27 14:28:05 +08:00
Eric Zhao 88a02623ac
Add flow control by frequent (hot spot) parameters (#156)
- Add callback registry for statistic slot for extensions.
- Add a new module `sentinel-parameter-flow-control` under `sentinel-extension`.
- Add a `CacheMap` interface to provide abstraction for cache. We use ConcurrentLinkedHashMap as the default implementation (LRU strategy)..
- Add a `ParameterMetric` class as frequent parameter metrics for a specific resource. The metric map is located in `ParamFlowSlot` rather than `ClusterNode`.
- Implement `ParameterLeapArray` as statistic data structure for frequent parameters in a period of time window.
- Add `ParamFlowSlot` as the checker slot; Add `ParamFlowChecker` to do rule checking; Add `ParamFlowRuleManager` to do rule managing.
- The statistic metrics for frequent parameters is enabled only if the related resource has configured parameter flow rule; Parameter metrics for removed rules will be cleared automatically.
- Leverage extensible `SlotChainBuilder` to provide a `HotParamSlotChainBuilder`.
- Add command handlers for hot param rules.
- Add test cases and demo.
2018-09-27 14:15:47 +08:00
Eric Zhao 8c2cceca5e Add config for Codecov
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-26 15:15:24 +08:00
Eric Zhao cf1cf8a59f Update dependencies
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-26 15:03:19 +08:00
Eric Zhao 9e012d2e20 Refactor version representation and add client version to heartbeat
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-25 16:52:28 +08:00
Eric Zhao 7c179bb592 Update integration test and demo for async entry
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-25 11:43:23 +08:00
Eric Zhao e50fc55d68 Add more test cases for Sentinel core internal (e.g. Entry, CtSph)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-20 23:23:46 +08:00
Eric Zhao fe6b4f4865 Some code update and rearrangement
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-20 23:22:52 +08:00
Eric Zhao 62decf0464 Some bug fixes and enhancement for async entry support
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-20 23:20:53 +08:00
Eric Zhao cbaacfda55 Bug fix for automatic exit of default context when exiting the entry
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-20 23:19:50 +08:00
Eric Zhao 90d5611b23 Update Sentinel Web Servlet integration
- Add RequestOriginParser interface to extract request origin from the HTTP request
- Some code refinement

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-20 23:19:17 +08:00
Eric Zhao be43a31dc4
Fix internal bug when amount of context exceeds the threshold (#152)
- When amount of context exceeds the threshold, the `NullContext` will be set to current thread local. Thus, when checking context in `CtSph#entry`, once `NullContext` detected, the entry will not do rule checking on the slot chain.
- Cache the default context during initialization. Then when amount of context exceeds the threshold, entries under default context can do rule checking under default context.
- Enhance the error message

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-19 14:01:07 +08:00
Carpenter Lee 91f27977e9 1. Refector SampleCountProperty and IntervalProperty;
2. Add more java doc for LeapArray.
2018-09-17 14:15:12 +08:00
Eric Zhao 015efe2f9b Separate checking logic from AuthorityRule and add test cases
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-17 11:41:51 +08:00
Carpenter Lee b5b3f6edee Bug fix: fix probability of metric lose 2018-09-16 21:13:06 +08:00
Eric Zhao b1f33675c5 Improvements for Redis data source and demo
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-09-14 15:02:55 +08:00
moon tiger 4ff2e37abb Add DataSource integration for Redis (#102)
- This implementation uses Lettuce as the internal client, and leverages Redis pub-sub feature to implement push mode data source. (by @tigerMoon)
2018-09-14 14:08:50 +08:00