You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2022/03/28 13:47:41 UTC
[GitHub] [skywalking] mrproliu opened a new pull request #8761: [WIP] Support eBPF Profiling E2E
mrproliu opened a new pull request #8761:
URL: https://github.com/apache/skywalking/pull/8761
1. Support the eBPF Profiling E2E
2. Fix the query in the storage
3. Combine trace profiling with eBPF profiling E2E under one directory.
4. Let `multiGet` could query without tag value in the `InfluxDB` storage plugin, it could help on the eBPF Profiling GraphQL query.
- [x] Tests(including UT, IT, E2E) are added to verify the new feature.
- [x] Update the [`CHANGES` log](https://github.com/apache/skywalking/blob/master/CHANGES.md).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [skywalking] mrproliu commented on a change in pull request #8761: Support eBPF Profiling E2E
Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #8761:
URL: https://github.com/apache/skywalking/pull/8761#discussion_r837593673
##########
File path: oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/EBPFProfilingDataQuery.java
##########
@@ -87,7 +87,7 @@
} else {
data.setStacksBinary(new byte[0]);
}
- data.setStackDumpCount((Long) values.get(5));
+ data.setStackDumpCount(((Number) values.get(5)).longValue());
data.setUploadTime((Long) values.get(6));
Review comment:
Updated.
##########
File path: oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/EBPFProfilingTaskQuery.java
##########
@@ -122,7 +122,7 @@
task.setProcessName((String) values.get(6));
task.setTaskStartTime((long) values.get(7));
task.setTriggerType(EBPFProfilingTriggerType.valueOf((int) values.get(8)));
- task.setFixedTriggerDuration((long) values.get(9));
+ task.setFixedTriggerDuration(((Number) values.get(9)).longValue());
task.setTargetType(EBPFProfilingTargetType.valueOf((int) values.get(10)));
task.setCreateTime((long) values.get(11));
task.setLastUpdateTime((long) values.get(12));
Review comment:
Updated.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [skywalking] dmsolr commented on a change in pull request #8761: Support eBPF Profiling E2E
Posted by GitBox <gi...@apache.org>.
dmsolr commented on a change in pull request #8761:
URL: https://github.com/apache/skywalking/pull/8761#discussion_r837364425
##########
File path: oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/EBPFProfilingTaskQuery.java
##########
@@ -122,7 +122,7 @@
task.setProcessName((String) values.get(6));
task.setTaskStartTime((long) values.get(7));
task.setTriggerType(EBPFProfilingTriggerType.valueOf((int) values.get(8)));
- task.setFixedTriggerDuration((long) values.get(9));
+ task.setFixedTriggerDuration(((Number) values.get(9)).longValue());
task.setTargetType(EBPFProfilingTargetType.valueOf((int) values.get(10)));
task.setCreateTime((long) values.get(11));
task.setLastUpdateTime((long) values.get(12));
Review comment:
I think these types should be unreliable. need to change like Line 125
pls recheck
##########
File path: oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/EBPFProfilingDataQuery.java
##########
@@ -87,7 +87,7 @@
} else {
data.setStacksBinary(new byte[0]);
}
- data.setStackDumpCount((Long) values.get(5));
+ data.setStackDumpCount(((Number) values.get(5)).longValue());
data.setUploadTime((Long) values.get(6));
Review comment:
this line is also fixed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [skywalking] wu-sheng merged pull request #8761: Support eBPF Profiling E2E
Posted by GitBox <gi...@apache.org>.
wu-sheng merged pull request #8761:
URL: https://github.com/apache/skywalking/pull/8761
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [skywalking] wu-sheng commented on a change in pull request #8761: Support eBPF Profiling E2E
Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8761:
URL: https://github.com/apache/skywalking/pull/8761#discussion_r837146358
##########
File path: test/e2e-v2/cases/profiling/ebpf/sqrt.go
##########
@@ -0,0 +1,32 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package main
+
+import (
+ "math"
+)
+
+//go:noinline
+func sqrtInGolang() {
Review comment:
Agree, just to recheck.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [skywalking] mrproliu commented on a change in pull request #8761: Support eBPF Profiling E2E
Posted by GitBox <gi...@apache.org>.
mrproliu commented on a change in pull request #8761:
URL: https://github.com/apache/skywalking/pull/8761#discussion_r837145783
##########
File path: test/e2e-v2/cases/profiling/ebpf/sqrt.go
##########
@@ -0,0 +1,32 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package main
+
+import (
+ "math"
+)
+
+//go:noinline
+func sqrtInGolang() {
Review comment:
Yes, In the backend, I think our main focus is on storage is enough. in the rover side, we could profiling with other language.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [skywalking] wu-sheng commented on a change in pull request #8761: Support eBPF Profiling E2E
Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8761:
URL: https://github.com/apache/skywalking/pull/8761#discussion_r837144532
##########
File path: test/e2e-v2/cases/profiling/ebpf/sqrt.go
##########
@@ -0,0 +1,32 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package main
+
+import (
+ "math"
+)
+
+//go:noinline
+func sqrtInGolang() {
Review comment:
In e2e, we only profile golang app, right?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [skywalking] wu-sheng commented on a change in pull request #8761: Support eBPF Profiling E2E
Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8761:
URL: https://github.com/apache/skywalking/pull/8761#discussion_r837143782
##########
File path: .github/workflows/skywalking.yaml
##########
@@ -385,16 +385,27 @@ jobs:
config: test/e2e-v2/cases/log/fluent-bit/e2e.yaml
env: ES_VERSION=7.15.0
- - name: Profiling H2
- config: test/e2e-v2/cases/profile/h2/e2e.yaml
- - name: Profiling ES
- config: test/e2e-v2/cases/profile/es/e2e.yaml
- - name: Profiling MySQL
- config: test/e2e-v2/cases/profile/mysql/e2e.yaml
- - name: Profiling InfluxDB
- config: test/e2e-v2/cases/profile/influxdb/e2e.yaml
- - name: Profiling IoTDB
- config: test/e2e-v2/cases/profile/iotdb/e2e.yaml
+ - name: Trace Profiling H2
+ config: test/e2e-v2/cases/profiling/trace/h2/e2e.yaml
+ - name: Trace Profiling ES
+ config: test/e2e-v2/cases/profiling/trace/es/e2e.yaml
+ - name: Trace Profiling MySQL
+ config: test/e2e-v2/cases/profiling/trace/mysql/e2e.yaml
+ - name: Trace Profiling InfluxDB
+ config: test/e2e-v2/cases/profiling/trace/influxdb/e2e.yaml
+ - name: Trace Profiling IoTDB
+ config: test/e2e-v2/cases/profiling/trace/iotdb/e2e.yaml
+
+ - name: EBPF Profiling H2
Review comment:
```suggestion
- name: eBPF Profiling H2
```
Unless in coding, I think we could follow the upper/lower cases according to the official. `eBPF`
See https://ebpf.io/
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [skywalking] mrproliu commented on pull request #8761: Support eBPF Profiling E2E
Posted by GitBox <gi...@apache.org>.
mrproliu commented on pull request #8761:
URL: https://github.com/apache/skywalking/pull/8761#issuecomment-1081513997
@dmsolr Please help to verify the `multiGet` in the InfluxDB plugin.
If we only have the ID and want to use `multiGet` for query traffic, we could degradation to only using field(ID field) without tag(serviceId field).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org