getShadowUrls() {
22 | return shadowUrls;
23 | }
24 |
25 | @Override
26 | public Object getTarget() {
27 | return shadowUrls;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-core/src/main/java/com/pamirs/pradar/pressurement/agent/listener/model/ShadowConsumerDisableInfo.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.pradar.pressurement.agent.listener.model;
16 |
17 | /**
18 | * @author angju
19 | * @date 2021/10/11 10:53
20 | */
21 | public class ShadowConsumerDisableInfo extends ShadowConsumerEnableInfo {
22 | }
23 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-core/src/main/java/com/pamirs/pradar/pressurement/agent/shared/dubbo/ReferenceProxy.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.pradar.pressurement.agent.shared.dubbo;
16 |
17 | public interface ReferenceProxy {
18 | void setTargetProxy(Object proxy);
19 |
20 | Object getTargetProxy();
21 | }
22 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-core/src/main/java/com/pamirs/pradar/pressurement/agent/shared/service/event/IEvent.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.pradar.pressurement.agent.shared.service.event;
16 |
17 | /**
18 | * 事件
19 | *
20 | * @author xiaobin.zfb | xiaobin@shulie.io
21 | * @since 2020/7/10 9:34 上午
22 | */
23 | public class IEvent {
24 | }
25 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-core/src/main/java/com/pamirs/pradar/protocol/udp/DataType.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.pradar.protocol.udp;
2 |
3 | /**
4 | * @Description
5 | * @Author xiaobin.zfb
6 | * @mail xiaobin@shulie.io
7 | * @Date 2020/8/12 3:59 下午
8 | */
9 | public class DataType {
10 | /**
11 | * trace日志
12 | */
13 | public final static byte TRACE_LOG = 1;
14 | /**
15 | * metrics日志
16 | */
17 | public final static byte METRICS_LOG = 2;
18 | /**
19 | * 监控日志
20 | */
21 | public final static byte MONITOR_LOG = 3;
22 | /**
23 | * agent日志
24 | */
25 | public final static byte AGENT_LOG = 4;
26 |
27 | /**
28 | * agent-manage命令
29 | */
30 | public final static byte AGENT_MANAGE = 5;
31 | }
32 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-core/src/main/java/com/pamirs/pradar/scope/Pool.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.pradar.scope;
16 |
17 | /**
18 | * Created by xiaobin on 2017/1/19.
19 | */
20 | public interface Pool {
21 |
22 | V get(K key);
23 |
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-core/src/main/java/com/pamirs/pradar/scope/PoolObjectFactory.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.pradar.scope;
16 |
17 | /**
18 | * Created by xiaobin on 2017/1/19.
19 | */
20 | public interface PoolObjectFactory {
21 | V create(K key);
22 | }
23 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-core/src/main/java/com/pamirs/pradar/script/commons/InterpreterWrapper.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.pradar.script.commons;
2 |
3 | import bsh.Interpreter;
4 |
5 | public class InterpreterWrapper {
6 |
7 | private Interpreter interpreter;
8 | private volatile boolean hold;
9 |
10 | public InterpreterWrapper(Interpreter interpreter, boolean hold) {
11 | this.interpreter = interpreter;
12 | this.hold = hold;
13 | }
14 |
15 | public Interpreter getInterpreter() {
16 | return interpreter;
17 | }
18 |
19 | public void setInterpreter(Interpreter interpreter) {
20 | this.interpreter = interpreter;
21 | }
22 |
23 | public boolean isHold() {
24 | return hold;
25 | }
26 |
27 | public void setHold(boolean hold) {
28 | this.hold = hold;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-core/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | endInvoke中重复设置请求体,httpClient请求体在afterTrace中获取
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-register/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | bug-fix
2 | 1、删除无效日志
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pradar-register/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=pradar-register
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.module.register.zk.*
5 | import-package=com.pamirs.pradar.*,io.shulie.takin.sdk.*,org.apache.commons.lang.*,org.slf4j.*,io.netty.*,org.apache.curator.*,org.apache.zookeeper.*,io.shulie.takin.*,com.google.gson.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core
10 | # dependency simulator version
11 | middleware-module=false
12 | simulator-version=1.0.0-
13 | # must use
14 | must-use=true
15 | module-version=2.0.0.1
16 | dependencies-info=pradar-core@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-proxool/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 2.0.2.2 修复proxool驱动类名称不能随业务设置
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-proxool/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=proxool
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.datasource.*,com.shulie.druid.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,datasource-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.2.2
12 | dependencies-info=pradar-core@2.0.1.0,datasource-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-proxool/src/test/java/printCode.groovy:
--------------------------------------------------------------------------------
1 | /**
2 | * @author jirenhe | jirenhe@shulie.io
3 | * @since 2021/03/29 7:11 下午
4 | */
5 | Thread.currentThread().contextClassLoader.getResource("configName").eachLine {
6 | it << 1
7 | def tmp = it.charAt(0).toUpperCase().toString() + it.substring(1)
8 | int idx = tmp.indexOf("-")
9 | while (idx > 0) {
10 | tmp = tmp.substring(0, idx) + tmp.charAt(idx + 1).toUpperCase().toString() + tmp.substring(idx + 2)
11 | idx = tmp.indexOf("-")
12 | }
13 | def properties = tmp.charAt(0).toLowerCase().toString() + tmp.substring(1)
14 | println """
15 | String $properties = ptDataSourceConf.getProperty("$it");
16 | if ($properties != null) {
17 | target.set$tmp($properties);
18 | } else {
19 | target.set$tmp(sourceDatasource.get$tmp());
20 | }
21 | """
22 |
23 |
24 | }
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-proxool/src/test/resources/configName:
--------------------------------------------------------------------------------
1 | fatal-sql-exception-wrapper-class
2 | house-keeping-sleep-time
3 | house-keeping-test-sql
4 | injectable-connection-interface
5 | injectable-statement-interface
6 | injectable-prepared-statement-interface
7 | injectable-callable-statement-interface
8 | jmx
9 | jmx-agent-id
10 | jndi-name
11 | maximum-active-time
12 | maximum-connection-count
13 | maximum-connection-lifetime
14 | maximum-new-connections
15 | minimum-connection-count
16 | overload-without-refusal-lifetime
17 | prototype-count
18 | recently-started-threshold
19 | simultaneous-build-throttle
20 | statistics
21 | statistics-log-level
22 | test-before-use
23 | test-after-use
24 | trace
25 | verbose
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pulsar/src/main/java/com/pamirs/attach/plugin/pulsar/common/MQType.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.attach.plugin.pulsar.common;
16 |
17 | /**
18 | * 消息类型枚举
19 | *
20 | * @author: wangxian
21 | * @date:2016/09/29
22 | */
23 | public enum MQType {
24 | PULSAR
25 | }
26 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pulsar/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | pulsar支持
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-pulsar/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=pulsar
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-rabbitmq/src/main/java/com/pamirs/attach/plugin/rabbitmq/common/LastMqWhiteListHolder.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.rabbitmq.common;
2 |
3 | import java.util.Set;
4 | import java.util.concurrent.atomic.AtomicReference;
5 |
6 | import com.pamirs.pradar.pressurement.agent.shared.service.GlobalConfig;
7 |
8 | public class LastMqWhiteListHolder {
9 | public static final AtomicReference> LAST_MQ_WHITELIST = new AtomicReference>(
10 | GlobalConfig.getInstance().getMqWhiteList());
11 | }
12 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-rabbitmq/src/main/java/com/pamirs/attach/plugin/rabbitmq/interceptor/AMQConnectionInterceptor.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.rabbitmq.interceptor;
2 |
3 | import com.pamirs.pradar.interceptor.AroundInterceptor;
4 | import com.shulie.instrument.simulator.api.listener.ext.Advice;
5 | import org.slf4j.Logger;
6 | import org.slf4j.LoggerFactory;
7 |
8 | /**
9 | * @author jirenhe | jirenhe@shulie.io
10 | * @since 2021/08/31 10:21 下午
11 | */
12 | public class AMQConnectionInterceptor extends AroundInterceptor {
13 |
14 | private static Logger logger = LoggerFactory.getLogger(ChannelNProcessDeliveryInterceptor.class.getName());
15 |
16 | @Override
17 | public void doAfter(Advice advice) throws Throwable {
18 | logger.warn("[RabbitMQ] AMQConnection has closed!");
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-rabbitmq/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | rabbit改版
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-rabbitmq/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=rabbitmq
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,org.apache.zookeeper.*,org.apache.curator.*,com.shulie.instrument.simulator.dependencies.*,com.google.gson.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-rabbitmqv2/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | rabbit新版支持
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-rabbitmqv2/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=rabbitmqv2
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*,io.shulie.instrument.module.messaging.*,io.shulie.instrument.module.isolation.*,org.apache.zookeeper.*,org.apache.curator.*,com.shulie.instrument.simulator.dependencies.*,com.google.gson.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,messaging-common,isolation
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0,messaging-common@1.0.0.0
13 | sync-fetch-target=com.rabbitmq.client.impl.ChannelN#basicConsume
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-redis-jedis/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 2.0.1.5 jedis pipeline 支持multi命令
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-redis-jedis/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=redis-jedis
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.datasource.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,datasource-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.1.5
12 | dependencies-info=pradar-core@2.0.1.0,datasource-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-redis-lettuce/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 |
2 | 2.0.1.4 lettuce采集response
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-redis-lettuce/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=redis-lettuce
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.datasource.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,datasource-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.1.3
12 | dependencies-info=pradar-core@2.0.1.0,datasource-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-redis-redisson/src/main/java/com/pamirs/attach/plugin/redisson/constant/Constant.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.attach.plugin.redisson.constant;
16 |
17 | /**
18 | * @Auther: vernon
19 | * @Date: 2020/12/3 21:57
20 | * @Description:
21 | */
22 | public class Constant {
23 | public static String REDIS_PRE = "redis://";
24 | }
25 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-redis-redisson/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 2.0.1.2 链路梳理信息不上报密码
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-redis-redisson/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=redis-redisson
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.datasource.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,datasource-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.1.3
12 | dependencies-info=pradar-core@2.0.1.0,datasource-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-resin/src/main/java/com/pamirs/attach/plugin/resin/ResinConstans.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.attach.plugin.resin;
16 |
17 | public class ResinConstans {
18 |
19 | public static String PLUGIN_NAME = "resin";
20 | }
21 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-resin/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 注意!!!!!
2 | 每次更新插件请都更新内容到以下内容,
3 | resin中间件支持模块,
4 | 新增模块版本信息,初始版本为1.0.0,README.md为模块更新内容描述文件,
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-resin/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=resin
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,servlet-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0,servlet-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-saturn/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 注意!!!!!
2 | 每次更新插件请都更新内容到以下内容,
3 | saturn中间件支持模块,
4 | 新增模块版本信息,初始版本为1.0.0,README.md为模块更新内容描述文件,
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-saturn/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=saturn
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-servlet-common/src/main/java/com/pamirs/attach/plugin/common/web/RepeatReadServletRequest.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.attach.plugin.common.web;
16 |
17 | /**
18 | * @author xiaobin.zfb|xiaobin@shulie.io
19 | * @since 2020/11/13 7:59 下午
20 | */
21 | public class RepeatReadServletRequest {
22 | }
23 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-servlet-common/src/main/java/com/pamirs/attach/plugin/common/web/utils/Constants.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.common.web.utils;
2 |
3 | /**
4 | * @author angju
5 | * @date 2023/4/3 10:29
6 | */
7 | public class Constants {
8 | public static final String PRADAR_CLUSTER_FLAG_GW = "pradar_cluster_flag_gw";
9 | public static final String extendParamEnd = "pradar_cluster_flag_gw_end";
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-servlet-common/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 注意!!!!!
2 | 每次更新插件请都更新内容到以下内容,
3 | servlet-common中间件支持模块,
4 | 新增模块版本信息,初始版本为1.0.0,README.md为模块更新内容描述文件,
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-servlet-common/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=servlet-common
2 | #export-class=
3 | #import-class=
4 | export-package=com.pamirs.attach.plugin.common.web.*
5 | import-package=com.pamirs.pradar.*,com.shulie.instrument.module.config.fetcher.config.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core
10 | # dependency simulator version
11 | simulator-version=1.0.0-
12 | # must use
13 | must-use=true
14 | middleware-module=ture
15 | module-version=2.0.0.0
16 | dependencies-info=pradar-core@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-job/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 2.0.1.0 优化SpringContextInterceptor执行逻辑
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-job/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=shadow-job
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core
10 | simulator-version=1.0.0-
11 | module-version=2.0.1.0
12 | dependencies-info=pradar-core@2.0.0.0
13 | sync-fetch-target=com.dangdang.ddframe.job.lite.api.JobScheduler#init,org.quartz.impl.StdScheduler
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/java/com/pamirs/attach/plugin/shadow/preparation/command/CommandExecuteResult.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.shadow.preparation.command;
2 |
3 | public class CommandExecuteResult {
4 |
5 | private Boolean success;
6 |
7 | private String response;
8 |
9 | public Boolean getSuccess() {
10 | return success;
11 | }
12 |
13 | public void setSuccess(Boolean success) {
14 | this.success = success;
15 | }
16 |
17 | public String getResponse() {
18 | return response;
19 | }
20 |
21 | public void setResponse(String response) {
22 | this.response = response;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/java/com/pamirs/attach/plugin/shadow/preparation/command/EsConfigPushCommand.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.shadow.preparation.command;
2 |
3 | import com.pamirs.attach.plugin.shadow.preparation.es.EsConfigEntity;
4 |
5 | import java.util.List;
6 |
7 | public class EsConfigPushCommand {
8 |
9 | private List data;
10 |
11 | public List getData() {
12 | return data;
13 | }
14 |
15 | public void setData(List data) {
16 | this.data = data;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/java/com/pamirs/attach/plugin/shadow/preparation/command/EsPreCheckCommand.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.shadow.preparation.command;
2 |
3 | import com.pamirs.attach.plugin.shadow.preparation.es.EsConfigEntity;
4 |
5 | public class EsPreCheckCommand extends EsConfigEntity {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/java/com/pamirs/attach/plugin/shadow/preparation/command/JdbcConfigPushCommand.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.shadow.preparation.command;
2 |
3 | import com.pamirs.attach.plugin.shadow.preparation.jdbc.entity.DataSourceConfig;
4 |
5 | import java.util.List;
6 |
7 | public class JdbcConfigPushCommand {
8 | private List data;
9 |
10 | public List getData() {
11 | return data;
12 | }
13 |
14 | public void setData(List data) {
15 | this.data = data;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/java/com/pamirs/attach/plugin/shadow/preparation/commons/Command.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.shadow.preparation.commons;
2 |
3 | public class Command {
4 | private String id;
5 | private String args;
6 |
7 | public String getId() {
8 | return id;
9 | }
10 |
11 | public void setId(String id) {
12 | this.id = id;
13 | }
14 |
15 | public String getArgs() {
16 | return args;
17 | }
18 |
19 | public void setArgs(String args) {
20 | this.args = args;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/java/com/pamirs/attach/plugin/shadow/preparation/commons/CommandAck.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.shadow.preparation.commons;
2 |
3 | public class CommandAck {
4 | private String commandId;
5 | private String response;
6 |
7 | public String getCommandId() {
8 | return commandId;
9 | }
10 |
11 | public void setCommandId(String commandId) {
12 | this.commandId = commandId;
13 | }
14 |
15 | public String getResponse() {
16 | return response;
17 | }
18 |
19 | public void setResponse(String response) {
20 | this.response = response;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/java/com/pamirs/attach/plugin/shadow/preparation/commons/Config.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.shadow.preparation.commons;
2 |
3 | public class Config {
4 | private String type;
5 | private String version;
6 | private String param;
7 |
8 | public String getType() {
9 | return type;
10 | }
11 |
12 | public void setType(String type) {
13 | this.type = type;
14 | }
15 |
16 | public String getVersion() {
17 | return version;
18 | }
19 |
20 | public void setVersion(String version) {
21 | this.version = version;
22 | }
23 |
24 | public String getParam() {
25 | return param;
26 | }
27 |
28 | public void setParam(String param) {
29 | this.param = param;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/java/com/pamirs/attach/plugin/shadow/preparation/jdbc/JdbcTypeFetcher.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.attach.plugin.shadow.preparation.jdbc;
2 |
3 | import com.pamirs.attach.plugin.shadow.preparation.jdbc.constants.JdbcTypeEnum;
4 |
5 | public abstract class JdbcTypeFetcher {
6 |
7 | public static JdbcTypeEnum fetchJdbcType(String driver) {
8 | if (driver.contains("mysql")) {
9 | return JdbcTypeEnum.MYSQL;
10 | }
11 | if (driver.contains("oracle")) {
12 | return JdbcTypeEnum.ORACLE;
13 | }
14 | if (driver.contains("sqlserver")) {
15 | return JdbcTypeEnum.SQLSERVER;
16 | }
17 | if (driver.contains("gbasedbt") || driver.contains("informix")) {
18 | return JdbcTypeEnum.GBASE;
19 | }
20 | return null;
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 2.0.0.5 移除agent-management-client依赖
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-shadow-preparation/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=shadow-preparation
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,io.shulie.takin.*,org.apache.commons.lang3.*,org.apache.thrift.*,cn.hutool.*,com.google.gson.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.5
12 | dependencies-info=pradar-core@2.0.0.0
13 |
14 | sync-fetch-target=com.alibaba.druid.pool.DruidDataSource,com.mchange.v2.c3p0.ComboPooledDataSource,org.apache.commons.dbcp2.BasicDataSource,org.apache.commons.dbcp.BasicDataSource,com.zaxxer.hikari.HikariDataSource,com.mongodb.client.internal.MongoClientImpl,org.elasticsearch.client.RestClient
15 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-cache/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 注意!!!!!
2 | 每次更新插件请都更新内容到以下内容,
3 | spring-cache中间件支持模块,
4 | 新增模块版本信息,初始版本为1.0.0,README.md为模块更新内容描述文件,
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-cache/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=spring-cache
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-cloud-gateway/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 2.0.1.5 调整spring BeanFactory内部的增强点,防止出现应用没用spring-cloud-gateway而出现的ClassNotFound异常
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-cloud-gateway/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=spring-cloud-gateway
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,servlet-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.1.5
12 | dependencies-info=pradar-core@2.0.0.0,servlet-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-kafka/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 2.0.1.3 兼容spring-kafka 1.1.7版本
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-kafka/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=spring-kafka
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*,io.shulie.instrument.module.messaging.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,messaging-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.1.3
12 | dependencies-info=pradar-core@2.0.0.0,messaging-common@2.0.0.0
13 | sync-fetch-target=org.springframework.kafka.listener.KafkaMessageListenerContainer#doStart
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-rabbitmq/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | spring-rabbitmq新版支持
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-rabbitmq/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=spring-rabbitmq
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*,io.shulie.instrument.module.messaging.*,com.google.common.*,com.google.gson.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,messaging-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0,messaging-common@1.0.0.0
13 | sync-fetch-target=org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer#start
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-web/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 替换只读HttpHeaders
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-spring-web/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=spring-web
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,servlet-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.1.2
12 | dependencies-info=pradar-core@2.0.0.0,servlet-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-sync-fetch-obj/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 2.0.0.5 save对象时过滤重复对象
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-sync-fetch-obj/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=sync-fetch-obj
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | #dependencies=pradar-core,servlet-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.5
12 | async=false
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-tomcat-dbcp/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 2.0.0.2 增加连接池获取connection的trace打印
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-tomcat-dbcp/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=tomcat-dbcp
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.datasource.*,com.shulie.druid.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,datasource-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.2
12 | dependencies-info=pradar-core@2.0.1.0,datasource-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-undertow/src/main/java/com/pamirs/attach/plugin/undertow/UndertowConstants.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.attach.plugin.undertow;
16 |
17 | /**
18 | * @author xiaobin.zfb|xiaobin@shulie.io
19 | * @since 2020/12/15 8:34 下午
20 | */
21 | public class UndertowConstants {
22 | public final static String MODULE_NAME = "undertow";
23 | }
24 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-undertow/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 注意!!!!!
2 | 每次更新插件请都更新内容到以下内容,
3 | undertow中间件支持模块,
4 | 新增模块版本信息,初始版本为1.0.0,README.md为模块更新内容描述文件,
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-undertow/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=undertow
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,servlet-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0,servlet-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-webflux/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 支持webflux。切org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction的exchange方法,并且记录trace
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-webflux/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=webflux
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,servlet-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.1.0
12 | dependencies-info=pradar-core@2.0.0.0,servlet-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-websphere/src/main/java-ibm/com/ibm/ws/webcontainer/channel/WCCResponseImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.ibm.ws.webcontainer.channel;
16 |
17 | import com.ibm.wsspi.http.channel.HttpResponseMessage;
18 |
19 | public class WCCResponseImpl {
20 | // Dummy
21 | public HttpResponseMessage getHttpResponse() {
22 | return null;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-websphere/src/main/java-ibm/com/ibm/ws/webcontainer/srt/SRTServletRequest.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.ibm.ws.webcontainer.srt;
16 |
17 | import com.ibm.wsspi.webcontainer.servlet.IExtendedResponse;
18 |
19 | public class SRTServletRequest {
20 | // Dummy
21 | public IExtendedResponse getResponse() {
22 | return null;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-websphere/src/main/java-ibm/com/ibm/ws/webcontainer/srt/SRTServletResponse.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.ibm.ws.webcontainer.srt;
16 |
17 | public class SRTServletResponse {
18 | // Dummy
19 | public int getStatusCode() {
20 | return 0;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-websphere/src/main/java/com/pamirs/attach/plugin/websphere/WebsphereConstans.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.attach.plugin.websphere;
16 |
17 | public class WebsphereConstans {
18 |
19 | public static final String PLUGIN_NAME = "websphere";
20 | public static final String MODULE_NAME = "websphere";
21 | }
22 |
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-websphere/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 注意!!!!!
2 | 每次更新插件请都更新内容到以下内容,
3 | websphere中间件支持模块,
4 | 新增模块版本信息,初始版本为1.0.0,README.md为模块更新内容描述文件,
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-websphere/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=websphere
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,servlet-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0,servlet-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-xmemcached/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 注意!!!!!
2 | 每次更新插件请都更新内容到以下内容,
3 | xmemcached中间件支持模块,
4 | 新增模块版本信息,初始版本为1.0.0,README.md为模块更新内容描述文件,
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-xmemcached/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=xmemcached
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-zuul/src/main/resources/README.md:
--------------------------------------------------------------------------------
1 | 注意!!!!!
2 | 每次更新插件请都更新内容到以下内容,
3 | zuul中间件支持模块,
4 | 新增模块版本信息,初始版本为1.0.0,README.md为模块更新内容描述文件,
--------------------------------------------------------------------------------
/instrument-modules/user-modules/module-zuul/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=zuul
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | import-package=com.pamirs.pradar.*,com.pamirs.attach.plugin.common.web.*
6 | #export-resource=
7 | #import-resource=
8 | # dependency of module or swither,multi split with comma
9 | dependencies=pradar-core,servlet-common
10 | simulator-version=1.0.0-
11 | module-version=2.0.0.0
12 | dependencies-info=pradar-core@2.0.0.0,servlet-common@2.0.0.0
--------------------------------------------------------------------------------
/instrument-simulator/README.md:
--------------------------------------------------------------------------------
1 | sf-kafka支持动态消费
2 | 修复探针启动时创建过多线程
--------------------------------------------------------------------------------
/instrument-simulator/bin/dump.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #jmap -dump:format=b,file=/Users/angju/IdeaProjects/pradar-javaagent-temp/pradar-javaagent/dist/target/pradar-javaagent/$1.hprof $2
3 | if [ "true" -eq "$3" ]; then
4 | jmap -dump:live,format=b,file=$1 $2
5 | else
6 | jmap -dump:format=b,file=$1 $2
7 | fi
8 | #sleep 5s
9 | touch $1.finished
10 | #nohup java -Xms32m -Xmx32m -jar $4/arthas-boot.jar $1 --http-port $2 --telnet-port $3 &
11 |
--------------------------------------------------------------------------------
/instrument-simulator/bin/update-version.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # exit shell with err_code
4 | # $1 : err_code
5 | # $2 : err_msg
6 | exit_on_err() {
7 | [[ ! -z "${2}" ]] && echo "${2}" 1>&2
8 | exit ${1}
9 | }
10 |
11 | # maven package the simulator
12 | if [ $# != 0 ]; then
13 | mvn versions:set -DnewVersion=$1 -f ../pom.xml ||
14 | exit_on_err 1 "set version $1 failed."
15 | else
16 | exit_on_err 1 "please set the version number."
17 | fi
18 |
19 | mvn versions:update-parent -f ../pom.xml
20 | mvn versions:update-child-modules -f ../pom.xml
21 | echo "update version to $1 finish."
22 |
--------------------------------------------------------------------------------
/instrument-simulator/bootstrap-inject/simulator-bootstrap-api/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | io.shulie.instrument.simulator
7 | bootstrap-inject
8 | 1.0.0
9 |
10 | 4.0.0
11 |
12 | simulator-bootstrap-api
13 | jar
14 |
--------------------------------------------------------------------------------
/instrument-simulator/bootstrap-inject/simulator-bootstrap-api/src/main/java/com/pamirs/pradar/BizClassLoaderService.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.pradar;
2 |
3 | /**
4 | * @author Licey
5 | * @date 2022/8/3
6 | */
7 | public class BizClassLoaderService {
8 |
9 | private static IBizClassLoaderService service;
10 |
11 | public static void register(IBizClassLoaderService service){
12 | BizClassLoaderService.service = service;
13 | }
14 |
15 | public static void setBizClassLoader(ClassLoader classLoader) {
16 | service.setBizClassLoader(classLoader);
17 | }
18 |
19 | public static void clearBizClassLoader() {
20 | service.clearBizClassLoader();
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/instrument-simulator/bootstrap-inject/simulator-bootstrap-api/src/main/java/com/pamirs/pradar/IBizClassLoaderService.java:
--------------------------------------------------------------------------------
1 | package com.pamirs.pradar;
2 |
3 | /**
4 | * @author Licey
5 | * @date 2022/8/3
6 | */
7 | public interface IBizClassLoaderService {
8 |
9 | void setBizClassLoader(ClassLoader classLoader);
10 |
11 | void clearBizClassLoader();
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/instrument-simulator/bootstrap-inject/simulator-internal-bootstrap-api/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | bootstrap-inject
7 | io.shulie.instrument.simulator
8 | 1.0.0
9 |
10 | 4.0.0
11 |
12 | simulator-internal-bootstrap-api
13 | jar
14 |
15 |
16 |
22 |
23 |
--------------------------------------------------------------------------------
/instrument-simulator/bootstrap-inject/simulator-internal-bootstrap-api/src/main/java/com/pamirs/attach/plugin/dynamic/Constant.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.attach.plugin.dynamic;
16 |
17 | /**
18 | * @Auther: vernon
19 | * @Date: 2021/8/18 22:54
20 | * @Description:
21 | */
22 | public interface Constant {
23 | String MODULE_NAME = "dynamic-resource-common";
24 | }
25 |
--------------------------------------------------------------------------------
/instrument-simulator/bootstrap-inject/simulator-internal-bootstrap-api/src/main/java/com/pamirs/attach/plugin/dynamic/Resolver.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.pamirs.attach.plugin.dynamic;
16 |
17 | /**
18 | * @Auther: vernon
19 | * @Date: 2021/8/18 00:03
20 | * @Description:
21 | */
22 | public interface Resolver {
23 | V resolver(K t);
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/instrument-simulator/bootstrap-inject/simulator-internal-bootstrap-api/src/main/java/com/pamirs/attach/plugin/dynamic/template/ReadMe.md:
--------------------------------------------------------------------------------
1 | ####配置模版
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-api/src/main/java/com/shulie/instrument/simulator/api/ignore/IgnoreAllow.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright The OpenTelemetry Authors
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.shulie.instrument.simulator.api.ignore;
7 |
8 | public enum IgnoreAllow {
9 | IGNORE,
10 | ALLOW
11 | }
12 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-api/src/main/java/com/shulie/instrument/simulator/api/ignore/IgnoreFunction.java:
--------------------------------------------------------------------------------
1 | package com.shulie.instrument.simulator.api.ignore;
2 |
3 | public interface IgnoreFunction {
4 |
5 | /**
6 | * Applies this function to the given argument.
7 | *
8 | * @param t the function argument
9 | * @return the function result
10 | */
11 | R apply(T t);
12 | }
13 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-api/src/main/java/com/shulie/instrument/simulator/api/ignore/IgnoredTypesConfigurer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright The OpenTelemetry Authors
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.shulie.instrument.simulator.api.ignore;
7 |
8 | public interface IgnoredTypesConfigurer{
9 |
10 | /**
11 | * Configure the passed {@code builder} and define which classes should be ignored when
12 | * instrumenting.
13 | */
14 | void configure(IgnoredTypesBuilder builder);
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-api/src/main/java/com/shulie/instrument/simulator/api/ignore/IgnoredTypesPredicate.java:
--------------------------------------------------------------------------------
1 | package com.shulie.instrument.simulator.api.ignore;
2 |
3 | public interface IgnoredTypesPredicate {
4 |
5 | /**
6 | * 是否该被忽略
7 | *
8 | * @param loader
9 | * @param internalClassName
10 | * @return
11 | */
12 | boolean test(ClassLoader loader, String internalClassName);
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-api/src/test/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | %d{yyyy-MM-dd HH:mm:ss} %5level %msg%n
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-core/src/main/java/com/shulie/instrument/simulator/core/classloader/ClassLoaderNode.java:
--------------------------------------------------------------------------------
1 | package com.shulie.instrument.simulator.core.classloader;
2 |
3 | import java.lang.ref.SoftReference;
4 |
5 | /**
6 | * 业务类加载器节点,由这些节点组成链表结构
7 | * 对应每一个调用层级为一个节点
8 | *
9 | * @author Licey
10 | * @date 2022/9/28
11 | */
12 | public class ClassLoaderNode {
13 | SoftReference classLoader;
14 | ClassLoaderNode parent;
15 |
16 | ClassLoaderNode(ClassLoader classLoader, ClassLoaderNode parent) {
17 | if (classLoader != null) {
18 | this.classLoader = new SoftReference(classLoader);
19 | }
20 | this.parent = parent;
21 | }
22 |
23 | ClassLoader getClassLoader() {
24 | return classLoader == null ? null : classLoader.get();
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-core/src/main/java/com/shulie/instrument/simulator/core/inject/util/JarEntryFilter.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.shulie.instrument.simulator.core.inject.util;
16 |
17 | import java.util.jar.JarEntry;
18 |
19 | /**
20 | * Created by xiaobin on 2017/1/19.
21 | */
22 | public interface JarEntryFilter {
23 | boolean filter(JarEntry jarEntry);
24 | }
25 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-core/src/main/resources/META-INF/services/com.shulie.instrument.simulator.dependencies.ch.qos.logback.classic.spi.Configurator:
--------------------------------------------------------------------------------
1 | com.shulie.instrument.simulator.core.logback.spi.InstrumentSimulatorLogbackConfigurator
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-core/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider:
--------------------------------------------------------------------------------
1 | com.shulie.instrument.simulator.core.logback.spi.InstrumentSimulatorSlf4JServiceProvider
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-core/src/main/resources/com/shulie/instrument/simulator/logo:
--------------------------------------------------------------------------------
1 |
2 |
3 | ███████╗██╗███╗ ███╗██╗ ██╗██╗ █████╗ ████████╗ ██████╗ ██████╗
4 | ██╔════╝██║████╗ ████║██║ ██║██║ ██╔══██╗╚══██╔══╝██╔═══██╗██╔══██╗
5 | ███████╗██║██╔████╔██║██║ ██║██║ ███████║ ██║ ██║ ██║██████╔╝
6 | ╚════██║██║██║╚██╔╝██║██║ ██║██║ ██╔══██║ ██║ ██║ ██║██╔══██╗
7 | ███████║██║██║ ╚═╝ ██║╚██████╔╝███████╗██║ ██║ ██║ ╚██████╔╝██║ ██║
8 | ╚══════╝╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
9 |
10 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-core/src/main/resources/com/shulie/instrument/simulator/version:
--------------------------------------------------------------------------------
1 | ${simulator.major.version}.${simulator.minor.version}
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-core/src/test/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | %d{yyyy-MM-dd HH:mm:ss} %5level %msg%n
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-jdk/instrument-simulator-jdk-api/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | instrument-simulator-jdk
7 | io.shulie.instrument.simulator
8 | 5.3.4
9 |
10 | 4.0.0
11 |
12 | instrument-simulator-jdk-api
13 |
14 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-jdk/instrument-simulator-jdk8/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | instrument-simulator-jdk
7 | io.shulie.instrument.simulator
8 | 5.3.4
9 |
10 | 4.0.0
11 |
12 | instrument-simulator-jdk8
13 |
14 |
15 |
16 | io.shulie.instrument.simulator
17 | instrument-simulator-jdk-api
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-jdk/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | simulator
7 | io.shulie.instrument.simulator
8 | 5.3.4
9 |
10 | 4.0.0
11 |
12 | instrument-simulator-jdk
13 | pom
14 |
15 | instrument-simulator-jdk-api
16 | instrument-simulator-jdk8
17 | instrument-simulator-jdk-impl
18 | instrument-simulator-jdk9
19 |
20 |
21 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-messager/src/main/java/one/profiler/Counter.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package one.profiler;
16 |
17 | /**
18 | * Which metrics to use when generating profile in collapsed stack traces format.
19 | */
20 | public enum Counter {
21 | SAMPLES,
22 | TOTAL
23 | }
24 |
--------------------------------------------------------------------------------
/instrument-simulator/instrument-simulator-spi/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | io.shulie.instrument.simulator
8 | simulator
9 | 5.3.4
10 |
11 | instrument-simulator-spi
12 | instrument-simulator-spi ${simulator.major.version}
13 |
14 |
15 |
16 | io.shulie.instrument.simulator
17 | instrument-simulator-base-api
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/instrument-simulator/module.config:
--------------------------------------------------------------------------------
1 | module-id=instrument-simulator
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #export-resource=
6 | #import-resource=
7 | # dependency of module or swither,multi split with comma
8 | module-version=5.3.4.0
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-env-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=env
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-gc-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=gc
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.gc.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-heapdump-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=heapdump
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-info-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=info
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-jad-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=jad
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.jad.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-logger-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=logger
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-management-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=management
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-memory-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=memory
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.memory.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-monitor-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=monitor
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.monitor.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-ognl-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=ognl
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.ognl.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-profiler-module/src/main/resources/async-profiler/libasyncProfiler-linux-aarch64.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shulieTech/LinkAgent/63549f592e4667e5b57ffadd20b0afc83f0ceada/instrument-simulator/system-modules/instrument-simulator-profiler-module/src/main/resources/async-profiler/libasyncProfiler-linux-aarch64.so
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-profiler-module/src/main/resources/async-profiler/libasyncProfiler-linux-arm.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shulieTech/LinkAgent/63549f592e4667e5b57ffadd20b0afc83f0ceada/instrument-simulator/system-modules/instrument-simulator-profiler-module/src/main/resources/async-profiler/libasyncProfiler-linux-arm.so
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-profiler-module/src/main/resources/async-profiler/libasyncProfiler-linux-x64.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shulieTech/LinkAgent/63549f592e4667e5b57ffadd20b0afc83f0ceada/instrument-simulator/system-modules/instrument-simulator-profiler-module/src/main/resources/async-profiler/libasyncProfiler-linux-x64.so
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-profiler-module/src/main/resources/async-profiler/libasyncProfiler-mac-x64.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shulieTech/LinkAgent/63549f592e4667e5b57ffadd20b0afc83f0ceada/instrument-simulator/system-modules/instrument-simulator-profiler-module/src/main/resources/async-profiler/libasyncProfiler-mac-x64.so
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-profiler-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=profiler
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.profiler.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-runtime-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=runtime
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.runtime.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-sc-module/src/main/java/com/shulie/instrument/simulator/module/sc/AngjuTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * *
3 | * * Copyright 2021 Shulie Technology, Co.Ltd
4 | * * Email: shulie@shulie.io
5 | * * Licensed under the Apache License, Version 2.0 (the "License");
6 | * * you may not use this file except in compliance with the License.
7 | * * You may obtain a copy of the License at
8 | * *
9 | * * http://www.apache.org/licenses/LICENSE-2.0
10 | * *
11 | * * Unless required by applicable law or agreed to in writing, software
12 | * * distributed under the License is distributed on an "AS IS" BASIS,
13 | * * See the License for the specific language governing permissions and
14 | * * limitations under the License.
15 | *
16 | */
17 |
18 | package com.shulie.instrument.simulator.module.sc;
19 |
20 | /**
21 | * @author angju
22 | * @date 2021/11/19 10:58
23 | */
24 | public class AngjuTest {
25 | }
26 |
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-sc-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=sc
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-stack-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=stack
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.stack.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-stack-trace-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=stack-trace
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.stack.trace.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-sysprop-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=sysprop
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-thread-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=thread
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.thread.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-tomcat-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=tomcat
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-trace-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=trace
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.trace.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-vmoption-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=vmoption
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.vmoption.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/instrument-simulator/system-modules/instrument-simulator-watch-module/src/main/resources/module.config:
--------------------------------------------------------------------------------
1 | module-id=watch
2 | #export-class=
3 | #import-class=
4 | export-package=com.shulie.instrument.simulator.module.model.watch.*
5 | #import-package=
6 | #export-resource=
7 | #import-resource=
8 | middleware-module=false
9 | simulator-version=1.0.0-
--------------------------------------------------------------------------------
/lib/bsh-2.0b5-shulie.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shulieTech/LinkAgent/63549f592e4667e5b57ffadd20b0afc83f0ceada/lib/bsh-2.0b5-shulie.jar
--------------------------------------------------------------------------------
/simulator-agent/README.md:
--------------------------------------------------------------------------------
1 | 注意!!!!!
2 | 每次更新插件请都更新内容到以下内容,
3 | simulator-agent中间件支持模块,
4 | 新增模块版本信息,初始版本为1.0.0,README.md为模块更新内容描述文件,
5 |
6 | 5.1.0.0
7 | 心跳接口上报启动参数校验信息
--------------------------------------------------------------------------------
/simulator-agent/bin/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Created-By: Maven JAR Plugin 3.2.2
3 | Build-Jdk-Spec: 11
4 | Boot-Class-Path: transmittable-thread-local-2.12.1.jar
5 | Can-Redefine-Classes: false
6 | Can-Retransform-Classes: true
7 | Can-Set-Native-Method-Prefix: false
8 | Premain-Class: com.alibaba.ttl.threadpool.agent.TtlAgent
9 |
10 |
--------------------------------------------------------------------------------
/simulator-agent/bin/META-INF/helloword.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | echo "hello word"
4 |
--------------------------------------------------------------------------------
/simulator-agent/module.config:
--------------------------------------------------------------------------------
1 | module-id=simulator-agent
2 | #export-class=
3 | #import-class=
4 | #export-package=
5 | #export-resource=
6 | #import-resource=
7 | # dependency of module or swither,multi split with comma
8 | module-version=2.0.1.0
9 |
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/java/com/shulie/instrument/simulator/agent/core/gson/FastjsonDateToGsonTypeAdapter.java:
--------------------------------------------------------------------------------
1 | package com.shulie.instrument.simulator.agent.core.gson;
2 |
3 | import com.google.gson.TypeAdapter;
4 | import com.google.gson.stream.JsonReader;
5 | import com.google.gson.stream.JsonWriter;
6 |
7 | import java.io.IOException;
8 | import java.util.Date;
9 |
10 | public class FastjsonDateToGsonTypeAdapter extends TypeAdapter {
11 |
12 | @Override
13 | public void write(JsonWriter out, Date value) throws IOException {
14 | if (value == null) {
15 | out.nullValue();
16 | } else {
17 | out.value(value.getTime());
18 | }
19 | }
20 |
21 | @Override
22 | public Date read(JsonReader in) throws IOException {
23 | if (in != null) {
24 | return new Date(in.nextLong());
25 | } else {
26 | return null;
27 | }
28 | }
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/java/com/shulie/instrument/simulator/agent/core/gson/ObjectTypeAdapterFactory.java:
--------------------------------------------------------------------------------
1 | package com.shulie.instrument.simulator.agent.core.gson;
2 |
3 | import com.google.gson.Gson;
4 | import com.google.gson.TypeAdapter;
5 | import com.google.gson.TypeAdapterFactory;
6 | import com.google.gson.reflect.TypeToken;
7 |
8 | public class ObjectTypeAdapterFactory implements TypeAdapterFactory {
9 |
10 | private final TypeAdapter typeAdapter;
11 |
12 | public ObjectTypeAdapterFactory(TypeAdapter typeAdapter) {
13 | this.typeAdapter = typeAdapter;
14 | }
15 |
16 | @Override
17 | public TypeAdapter create(Gson gson, TypeToken typeToken) {
18 | if (typeToken.getRawType() == Object.class) {
19 | return typeAdapter;
20 | }
21 | return null;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/java/com/shulie/instrument/simulator/agent/core/gson/SimulatorGsonFactory.java:
--------------------------------------------------------------------------------
1 | package com.shulie.instrument.simulator.agent.core.gson;
2 |
3 | import com.google.gson.*;
4 |
5 | import java.lang.reflect.Field;
6 | import java.lang.reflect.Type;
7 | import java.util.Date;
8 | import java.util.List;
9 |
10 | public class SimulatorGsonFactory {
11 |
12 | private static final GsonBuilder GSON_BUILDER = new GsonBuilder();
13 |
14 | private static volatile Gson gson;
15 |
16 | static {
17 | GSON_BUILDER.setObjectToNumberStrategy(ToNumberPolicy.LONG_OR_DOUBLE);
18 | GSON_BUILDER.registerTypeAdapter(Date.class, new FastjsonDateToGsonTypeAdapter());
19 | gson = GSON_BUILDER.create();
20 | }
21 |
22 | /**
23 | * 获取Gson实例.
24 | *
25 | * @return Gson实例
26 | */
27 | public static Gson getGson() {
28 | return gson;
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/java/com/shulie/instrument/simulator/agent/core/register/AgentStatusListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.shulie.instrument.simulator.agent.core.register;
16 |
17 | /**
18 | * @author xiaobin.zfb|xiaobin@shulie.io
19 | * @since 2020/11/22 8:08 下午
20 | */
21 | public interface AgentStatusListener {
22 | void onListen();
23 | }
24 |
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/java/com/shulie/instrument/simulator/agent/core/uploader/ApplicationUploader.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2021 Shulie Technology, Co.Ltd
3 | * Email: shulie@shulie.io
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 | package com.shulie.instrument.simulator.agent.core.uploader;
16 |
17 | /**
18 | * @author jirenhe | jirenhe@shulie.io
19 | * @since 2021/06/10 9:27 下午
20 | */
21 | public interface ApplicationUploader {
22 |
23 | void checkAndGenerateApp();
24 | }
25 |
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/resources/META-INF/services/com.shulie.instrument.simulator.dependencies.ch.qos.logback.classic.spi.Configurator:
--------------------------------------------------------------------------------
1 | com.shulie.instrument.simulator.agent.core.logback.spi.SimulatorAgentLogbackConfigurator
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/resources/META-INF/services/com.shulie.instrument.simulator.dependencies.org.slf4j.spi.SLF4JServiceProvider:
--------------------------------------------------------------------------------
1 | com.shulie.instrument.simulator.agent.core.logback.spi.SimulatorAgentSlf4JServiceProvider
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/resources/com/shulie/instrument/simulator/agent/logo:
--------------------------------------------------------------------------------
1 |
2 |
3 | ███████╗██╗███╗ ███╗██╗ ██╗██╗ █████╗ ████████╗ ██████╗ ██████╗
4 | ██╔════╝██║████╗ ████║██║ ██║██║ ██╔══██╗╚══██╔══╝██╔═══██╗██╔══██╗
5 | ███████╗██║██╔████╔██║██║ ██║██║ ███████║ ██║ ██║ ██║██████╔╝
6 | ╚════██║██║██║╚██╔╝██║██║ ██║██║ ██╔══██║ ██║ ██║ ██║██╔══██╗
7 | ███████║██║██║ ╚═╝ ██║╚██████╔╝███████╗██║ ██║ ██║ ╚██████╔╝██║ ██║
8 | ╚══════╝╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
9 |
10 |
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/resources/com/shulie/instrument/simulator/agent/version:
--------------------------------------------------------------------------------
1 | ${agent.major.version}.${agent.minor.version}
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-core/src/main/resources/import-dependencies.config:
--------------------------------------------------------------------------------
1 | # 引入lib的目录,多个目录用逗号分开
2 | import-dependency-dir=lib,../lib
3 | #引入的lib文件
4 | import-artifacts=commons-lang,commons-lang3,gson,hutool-all
--------------------------------------------------------------------------------
/simulator-agent/simulator-agent-spi/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | simulator-agent
7 | io.shulie.instrument.simulator
8 | 5.3.4
9 |
10 | 4.0.0
11 |
12 | simulator-agent-spi
13 |
14 |
15 |
--------------------------------------------------------------------------------