Commit Graph

605 Commits

Author SHA1 Message Date
dagmom deccc262f3
Bulk executed with failures,then log detail message (#4845)
Co-authored-by: guhao <dev_guhao@163.com>
2020-05-31 15:19:40 +08:00
dvsv2 605d2449f2
ApdexMetrics Change type of `totalNum`、`sSum`,`tNum` from int to long (#4839) 2020-05-29 17:05:45 +08:00
吴晟 Wu Sheng 37940beccc
Correct the service node type. (#4833) 2020-05-27 20:38:02 +08:00
吴晟 Wu Sheng 6ed40b3395
Keep ID as ref ID in the readSampledRecords (#4822)
* Keep ID as ref ID in the readSampledRecords, as there is no meaningful logic entity, but based on the graphql, the client could request this.
2020-05-26 08:00:03 +08:00
吴晟 Wu Sheng ec175f5655
Miss the node type condition in the es searchServices query. (#4821) 2020-05-25 22:17:10 +08:00
吴晟 Wu Sheng fed62aa731
Fix #4813 (#4815) 2020-05-23 14:55:43 +08:00
吴晟 Wu Sheng a10e044932
Group Parameterized Endpoints (#4802)
* Group Parameterized Endpoints. Configure the grouping rules for parameterized endpoints, to improve the meaning of the metrics.
2020-05-20 22:50:22 +08:00
Evan 1652e0c057
Add a SuperDataset tag for custom super size dataset shards config in es storage (#4793)
* add SuperDataset tag for add super size dataset shards config in es
2020-05-17 17:48:15 +08:00
吴晟 Wu Sheng cffcc58f8f
The NoneStreamEsDAO implementation doesn't use real index name to insert. (#4796) 2020-05-16 22:54:28 +08:00
Daming 544d419fc0
the number type casts error (#4788)
Co-authored-by: zhuanghaochao <zhuanghaochao@yy.com>
2020-05-14 21:13:22 +08:00
吴晟 Wu Sheng c5f0591e06
Fix the wrong sortN condition (#4784) 2020-05-14 11:36:32 +08:00
mrproliu 8af10bed11
Support regex to include or exclude the names in alarm module (#4775)
* Support regex to include or exclude the names, requested through mail list, https://lists.apache.org/x/thread.html/rb6d91093776cf61880425449d3d25f9d560cd32363c0075de9a85d13@%3Cdev.skywalking.apache.org%3E

Co-authored-by: Mrproliu <mrproliu@lagou.com>
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-05-13 14:34:16 +08:00
吴晟 Wu Sheng 39adda09f3
Make the default application.yml more friendly in the configuration s… (#4777)
* Make the default application.yml more friendly in the configuration section.

* Fix an issue in python e2e.
2020-05-12 16:55:31 +08:00
mrproliu 749af3e04e
Alarm support multiple scope (#4769)
* Support service relation and database access alarm

* support service instance relation alarm

* support endpoint relation alarm

* document and format the name

* resolve issues

* add database access and endpoint relation rule example

* resolve code format

* remove unnecessary getter and setter package declare

* remove unnecessary fields

Co-authored-by: Mrproliu <mrproliu@lagou.com>
2020-05-11 00:28:10 +08:00
mrproliu 50c4911adc
fix alarm query time bucket error (#4768)
Co-authored-by: Mrproliu <mrproliu@lagou.com>
2020-05-10 07:29:41 +08:00
吴晟 Wu Sheng 2880699860
Make OAL controlled by the receivers. (#4767)
* Split the official_analysis.oal into different parts

* Add Envoy OAL define.

* Fix license.
2020-05-09 21:39:19 +08:00
zhang-wei d4f3218dea
Support define multiple OAL configuration (#4748) 2020-05-08 23:53:49 +08:00
mrproliu 816878897c
Support multiple ways to analyze segments in rest (#4745)
* support multiple segments analyze

* Support multiple ways to analyze segment data

* Change to support single or list of the segment data, add the document

* fix document and change the lua agent commit id

Co-authored-by: Mrproliu <mrproliu@lagou.com>
2020-05-08 22:54:36 +08:00
吴晟 Wu Sheng 7edcd5aa33
Change the model installation into the reactive module (#4761) 2020-05-08 21:21:03 +08:00
Gao Hongtao 1d5a0b0f1a
Format index name with namespace (#4758)
* Format index name with namespace

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Use another variable to compare index name

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-05-08 20:12:56 +08:00
吴晟 Wu Sheng 377315edbb
Make sure the DB service could be generated. (#4757) 2020-05-08 11:14:16 +08:00
吴晟 Wu Sheng 07cc984d73
Polish metrics logic, fix service traffic bug (#4754)
1. Service Traffic should serialize and deserialize the time bucket, otherwise, there is a chance service_traffic-0 generated.
2. Make top N results more clear about the owner. Previously, the same endpoint names of different services look the same.
3. Sync UI.
4. Fix service traffic equal and hashcode method. The time bucket is not a part of the entity attribute.
2020-05-07 23:00:38 +08:00
Efe Kaptan d19ba41678
Mariadb JDBC plugin (#4740)
* Add Mariadb JDBC plugin and provide tests

* Refactor component name

* Reformat plugin description and remove healthcheck span from the test

Co-authored-by: Efe Kaptan <Efe.Kaptan@webtrekk.com>
Co-authored-by: zhang-wei <pknfe@outlook.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-05-07 20:54:30 +08:00
songzhendong 4368f82216
[CVE] Update Nacos 1.0.0 to Nacos 1.2.0(Solve the security problem of the old version of fastjson) (#4753)
* Update nacos version to 1.2.0(Solve the security problem of the old version of fastsjon)

Co-authored-by: songzhendong <289505773@qq.com>
Co-authored-by: songzhendong <songzhendong@xiaomi.com>
2020-05-07 14:51:21 +08:00
kezhenxu94 8872909bba
Add Python general component that may not have a logo to display (#4746) 2020-05-06 16:10:48 +08:00
吴晟 Wu Sheng fac4ddc9e8
Fix two serious bugs. (#4741) 2020-05-05 12:55:14 +08:00
kezhenxu94 7b071bd7f7
Fix nested query and type conversion in MySQL, remove unused codes (#4738) 2020-05-04 13:54:12 +08:00
吴晟 Wu Sheng a2eddd699e
Fix the cache unclear bug. (#4739)
* Fix the cache unclear bug.

* Update LimitedSizeBufferedData.java

Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-05-04 10:46:11 +08:00
吴晟 Wu Sheng 6d389dc119
Optimize aggregation in L1 and L2. (#4735) 2020-04-30 16:27:57 +08:00
吴晟 Wu Sheng d97af96c85
New ReadWriteSafeCache. Rewrite the whole Window and Collection. Simplify codes (#4733)
* Rewrite the whole window and collection to new ReadWriteSafeCache.

* Remove redundant fields.
2020-04-29 22:23:21 +08:00
吴晟 Wu Sheng 217bb624f6
Support percentile function in the meter system. (#4725)
* Support percentile function in the meter system.

* Update document.

* Fix formats.
2020-04-29 08:43:26 +08:00
吴晟 Wu Sheng 7c84e77bf2
Support histogram function in Meter system. (#4719)
* Support histogram function in Meter system.
* Add histogram in the document.
* Support infinite-
2020-04-27 14:38:38 +08:00
吴晟 Wu Sheng f4864597c2
Fix an old query compatible bug. (#4714) 2020-04-26 10:58:36 +08:00
吴晟 Wu Sheng 071708a4a3
Support default value in labeled-value and heatmap query. (#4711)
* Support default value in labeled-value and heatmap query.

* Update a little document.
2020-04-25 21:24:15 +08:00
吴晟 Wu Sheng b635e254c4
Provide Meter(metrics) system (#4694)
Here are the basic and simple usages of the MeterSystem APIs.

## Meter Creation
New meter could be created based on metrics name, function, scope and data type. 
1. Metrics name is still the storage entity name.
2. Functions are every similar with the OAL function, just accepting different input.
```java
final MeterSystem meterSystem = MeterSystem.meterSystem(getManager());
meterSystem.create("test_long_metrics", "avg", ScopeType.SERVICE, Long.class);
```
NOTICE, this creation should only be called in the `module#prepare` stage, otherwise, `Can't create new metrics anymore` exception will be raised after the **CORE** module `start` stage finished. You may find out, there is a chance `create` could be executed successfully in your own `module#start` stage, but it it just because of the sequence of provider loaded by the class loader, **no guarantee, so please don't do that**.

## Runtime Calculation
`AcceptableValue` is the object created at the runtime to accept new metrics value.
```java
         final MeterSystem service = getManager().find(CoreModule.NAME).provider().getService(MeterSystem.class);
        Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(new Runnable() {
            @Override
            public void run() {
                final AcceptableValue<Long> value = service.buildMetrics("test_long_metrics", Long.class);
                value.accept(MeterEntity.newService("abc"), 5L);
                value.setTimeBucket(TimeBucket.getMinuteTimeBucket(System.currentTimeMillis()));
                service.doStreamingCalculation(value);
            }
        }, 2, 2, TimeUnit.SECONDS);
```

## Meter Functions
Right now, only `avg` function has been implemented. I submit this PR as soon as possible to get your feedback. I will add more functions.

## Notice
1. Make slow trace query available in the sampled record. Logically, they are the same thing. The UI doesn't need to concern about the trace as a special case.
2. Endpoint dependency will be removed from the dashboard. Because no query available for it. We will provide a new page for that in 8.1
3. Comparison page will be removed due to dashboard is powerful enough to replace it.
2020-04-24 23:33:13 +08:00
Jared Tan 15f1e048e9
fix skywalking refister-receiver artifactId name (#4697)
* fix  skywalking refister-receiver artifactId

* update more.
2020-04-23 19:07:58 +08:00
吴晟 Wu Sheng 991d083378
Support typeOfMetrics query (#4686)
* Add data type to the column definition to replace the simple isValue definition. And top N query is also requiring value column now.

* Support typeOfMetrics query.
2020-04-22 13:14:59 +08:00
mrproliu 7de392af65
fix cache update timer exception when disable profile in the backend (#4682)
* fix cache update timer exception when disable profile in the backend

* add comment

Co-authored-by: Mrproliu <mrproliu@lagou.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-04-21 18:59:17 +08:00
吴晟 Wu Sheng 418bdff277
New metrics query protocol v2 (#4679)
1. Support the new query protocol, and the v1 query protocol is still supported 
2. All `numOfxxx`/`GlobalBrief` is only a mock now, no real number.
3. typeOfMetrics service is a mock only too, follow up PR will implement this.
2020-04-21 15:39:18 +08:00
Daming 28530cd79d
Upgrade the InfluxDB storage-plugin to protocol V3 (#4641)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-04-19 20:10:59 +08:00
kezhenxu94 c11ad038cc
Count the coverage in E2E tests and Plugin tests (#4651) 2020-04-15 23:09:05 +08:00
Gao Hongtao 12703fa54e
Keep latest index always present. (#4655)
* Keep latest index always present.
  * Avoid TTL timer to remove latest index
  * Create a latest index even without any data.

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>
2020-04-15 15:08:38 +08:00
吴晟 Wu Sheng 950346c380
[CVE] Update Jetty version to fix its CVEs (#4642) 2020-04-13 14:27:19 +08:00
吴晟 Wu Sheng 4ce2e9e873
Fix security issue of the metrics query (#4639) 2020-04-12 15:44:48 +08:00
吴晟 Wu Sheng 31385159c2
Support to use empty string to override existing config. (#4635) 2020-04-11 13:05:57 +08:00
吴晟 Wu Sheng 44cae97c25
Set up restrict length rules for service, instance and endpoint (#4633)
* Set up restrict length rules for service, instance and endpoint

* Adjust two env names.
2020-04-10 17:59:21 +08:00
吴晟 Wu Sheng 6fe2041b47
Make 8.0.0 Core available. New protocol and register removed. (#4599)
Here are the list of changes we made in this pull request. Top 3 are the principle changes, others are following these principles.
1. New agent and mesh report protocol. 
2. New agent header protocol. 
3. Service register, instance register and network address register have been removed permanently.
4. Service traffic, instance traffic and network alias metrics are added to replace the service, instance and network address inventory.
5. Register process has been removed.
6. Metrics stream process supports insert only mode, especially for traffic entities.
7. Metrics stream process supports no-downsampling mode for traffic entities and network alias.
8. Remove all register mechanism and cache in the java agent.
9. Remove MONTH step in GraphQL query.
10. Update UI to remove MONTH step query, the max query range is 60 days now.
11. Simplify the TTL to metrics and record. And the unit has been formatted in Day unit. No specific TTL for ElasticSearch storage.
12. Buffer mechanism of trace receiver and mesh receiver has been removed due to no register.
13. New service id, instance id and endpoint id rules, including service relation, instance relation and endpoint relation id rules.
14. Java agent support `keep tracing` mode, meaning, agent generating tracing context even the backend is unconnected/unavailable.
15. Plugin test tool up to date, in order to support new protocol.
16. Plugin tests expected data files updated.
17. E2E tests updated.
18. Telemetry of Grafana config has been merged into one.
19. Documentation updates.
20. [TBD] InfluxDB storage implementation is not available, need @dmsolr to fix later, in order to reduce the master change block by this PR.
2020-04-10 11:03:24 +08:00
吴晟 Wu Sheng fa9a44b750
Version number changed including a little documentation. (#4597) 2020-03-31 12:57:20 +08:00
吴晟 Wu Sheng 54fb6e7285
Set the endpoint name length to 150, to keep safe and avoid over-length. (#4595)
* Set the endpoint name length to 150, to keep safe and avoid over-length.

* Set endpointNameMaxLength in the application.yml

* Fix a mischange.

* Correct the endpoint name length control logic

Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-03-31 09:04:10 +08:00
kezhenxu94 b28b811af7
[BugFix] Fix wrong H2 column type (#4593)
MEDIUMTEXT in H2 is CLOB in JDBC type, and casting it to `String` causes `ClassCastException`
2020-03-31 00:04:17 +08:00