Coder Social home page Coder Social logo

vivo / moonbox Goto Github PK

View Code? Open in Web Editor NEW
1.1K 26.0 175.0 118.05 MB

月光宝盒:无侵入的流量录制与回放平台 A server-side traffic capture and replay platform with noninvasive

License: Apache License 2.0

JavaScript 2.04% HTML 0.13% Vue 12.04% SCSS 0.26% CSS 0.16% Shell 0.07% Java 85.21% Dockerfile 0.09%
capture recoding replay traffic hacktoberfest hacktoberfest2023

moonbox's People

Contributors

carlyoki avatar coderdylan avatar cvedetect avatar givemefive555 avatar huang-gz avatar lemon-simple avatar liuzhelucky avatar node avatar swz19941214 avatar yananliuyanjiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moonbox's Issues

应用标识是下拉选中的吧,可以在哪里修改吗?

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.
image

关于支持K8s管理的服务的流量录制方案讨论

Is your feature request related to a problem? Please describe.
有越来越多的应用部署在K8s pod,在录制流量时需要考虑对 K8s管理的服务的支持情况。

Describe the solution you'd like
根据微信群讨论记录,目前有多种可能的方案待探索和讨论确认。

Describe alternatives you've considered
期望的方案是:侵入少,满足大部分通用场景的需求;同时有一定的扩展性,支持少数用户自行扩展满足个性化需求。

Additional context

  • JayeShen 提出有3个关键待完善 ;
  • 一天到晚游泳的鱼思考提出了3种方案:
    • 使用 K8s api实现;
    • 类似sidecar模式在同一个pod里启动独立进程和应用;
    • 开发SDK到应用中,自动注册上报控制台

源码编译打包的agent 录制数据展示报错

Describe the bug
A clear and concise description of what the bug is.

image

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

可以支持接口依赖吗

例如新增一个用户,等待用户id:2,接着拿着用户id为2去调用查询用户接口,你们有这样的场景吗,是怎么解决这种场景下的测试的。

请问想流量回放kafka消费逻辑,有没有什么办法

项目主要业务逻辑都在各个kafka的topic消费逻辑代码中,因此想对这部分内容进行流量回放验证。kafka消费代码如下图所示:
image
依赖包spring-kafka-2.5.7.REALEASE

此外想问一下目前是否支持子调用中发送kafka消息的mock,期望回放时验证子调用入参。
image

Dependency org.springframework:spring-beans, leading to CVE problem

Hi, In /moonbox-server/moonbox-service-agent,there is a dependency org.springframework:spring-beans:5.3.18 that calls the risk method.

CVE-2022-22970

The scope of this CVE affected version is [,5.2.22.RELEASE) [5.3.0,5.3.20)

After further analysis, in this project, the main Api called is org.springframework.beans.CachedIntrospectionResults: isPlainAccessor(java.lang.reflect.Method)Z

Risk method repair link : GitHub

CVE Bug Invocation Path--

Path Length : 8

com.vivo.internet.moonbox.service.agent.record.service.impl.RecordServiceImpl: saveRecord(java.lang.String)Lcom.vivo.internet.moonbox.common.api.dto.MoonBoxResult; /download/apache-maven-3.6.3/repository_mount/org/mybatis/spring/boot/mybatis-spring-boot-starter/2.0.0/mybatis-spring-boot-starter-2.0.0.jar
org.springframework.beans.BeanUtils: copyProperties(java.lang.Object,java.lang.Object)V /download/apache-maven-3.6.3/repository_mount/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar
org.springframework.beans.BeanUtils: copyProperties(java.lang.Object,java.lang.Object,java.lang.Class,java.lang.String[])V /download/apache-maven-3.6.3/repository_mount/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar
org.springframework.beans.BeanUtils: getPropertyDescriptors(java.lang.Class)[Ljava.beans.PropertyDescriptor; /download/apache-maven-3.6.3/repository_mount/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar
org.springframework.beans.CachedIntrospectionResults: forClass(java.lang.Class)Lorg.springframework.beans.CachedIntrospectionResults; /download/apache-maven-3.6.3/repository_mount/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar
org.springframework.beans.CachedIntrospectionResults: init(java.lang.Class)V /download/apache-maven-3.6.3/repository_mount/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar
org.springframework.beans.CachedIntrospectionResults: introspectPlainAccessors(java.lang.Class,java.util.Set)V /download/apache-maven-3.6.3/repository_mount/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar
org.springframework.beans.CachedIntrospectionResults: isPlainAccessor(java.lang.reflect.Method)Z

Dependency tree--

[INFO] com.vivo.internet:moonbox-service-agent:jar:1.0.0-SNAPSHOT
[INFO] +- com.vivo.internet:moonbox-dal:jar:1.0.0-SNAPSHOT:compile
[INFO] |  +- org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:2.0.0:compile
[INFO] |  |  +- org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:jar:2.0.0:compile
[INFO] |  |  +- org.mybatis:mybatis:jar:3.5.0:compile
[INFO] |  |  \- org.mybatis:mybatis-spring:jar:2.0.0:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-jdbc:jar:2.5.12:compile
[INFO] |  |  +- com.zaxxer:HikariCP:jar:4.0.3:compile
[INFO] |  |  \- org.springframework:spring-jdbc:jar:5.3.18:compile
[INFO] |  |     +- org.springframework:spring-beans:jar:5.3.18:compile
[INFO] |  |     \- org.springframework:spring-tx:jar:5.3.18:compile
[INFO] |  +- org.mariadb.jdbc:mariadb-java-client:jar:2.6.0:compile
[INFO] |  +- org.projectlombok:lombok:jar:1.18.8:compile
[INFO] |  \- com.github.pagehelper:pagehelper:jar:5.3.1:compile
[INFO] |     \- com.github.jsqlparser:jsqlparser:jar:4.2:compile
[INFO] \- com.vivo.internet:moonbox-service-data:jar:1.0.0-SNAPSHOT:compile
[INFO]    +- com.vivo.internet:moonbox-service-common:jar:1.0.0-SNAPSHOT:compile
[INFO]    |  +- com.jcraft:jsch:jar:0.1.55:compile
[INFO]    |  +- org.slf4j:slf4j-api:jar:1.7.24:compile
[INFO]    |  +- org.apache.commons:commons-lang3:jar:3.12.0:compile
[INFO]    |  +- org.apache.commons:commons-collections4:jar:4.1:compile
[INFO]    |  +- com.squareup.okhttp3:okhttp:jar:3.9.0:compile
[INFO]    |  |  \- com.squareup.okio:okio:jar:1.13.0:compile
[INFO]    |  +- commons-io:commons-io:jar:2.11.0:compile
[INFO]    |  \- org.springframework.boot:spring-boot-starter-web:jar:2.5.12:compile
[INFO]    |     +- org.springframework.boot:spring-boot-starter-json:jar:2.5.12:compile
[INFO]    |     |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.14.0:compile
[INFO]    |     |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.14.0:compile
[INFO]    |     |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.14.0:compile
[INFO]    |     |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.12.6:compile
[INFO]    |     |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.12.6:compile
[INFO]    |     |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.12.6:compile
[INFO]    |     +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.5.12:compile
[INFO]    |     |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.60:compile
[INFO]    |     |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.60:compile
[INFO]    |     |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.60:compile
[INFO]    |     +- org.springframework:spring-web:jar:5.3.18:compile
[INFO]    |     \- org.springframework:spring-webmvc:jar:5.3.18:compile
[INFO]    |        +- org.springframework:spring-aop:jar:5.3.18:compile
[INFO]    |        \- org.springframework:spring-expression:jar:5.3.18:compile
[INFO]    +- com.vivo.internet:moonbox-data:jar:1.0.0-SNAPSHOT:compile
[INFO]    |  +- com.alibaba:fastjson:jar:1.2.83:compile
[INFO]    |  +- com.google.guava:guava:jar:23.0:compile
[INFO]    |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO]    |  |  +- com.google.errorprone:error_prone_annotations:jar:2.0.18:compile
[INFO]    |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
[INFO]    |  |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
[INFO]    |  \- org.kohsuke.metainf-services:metainf-services:jar:1.8:compile
[INFO]    +- com.vivo.internet:moonbox-tools:jar:1.0.0-SNAPSHOT:compile
[INFO]    +- com.vivo.internet:moonbox-hessian-lite:jar:1.0.0-SNAPSHOT:compile
[INFO]    |  \- net.bytebuddy:byte-buddy:jar:1.10.19:compile
[INFO]    \- org.springframework.boot:spring-boot-starter:jar:2.5.12:compile
[INFO]       +- org.springframework.boot:spring-boot:jar:2.5.12:compile
[INFO]       |  \- org.springframework:spring-context:jar:5.3.18:compile
[INFO]       +- org.springframework.boot:spring-boot-autoconfigure:jar:2.5.12:compile
[INFO]       +- org.springframework.boot:spring-boot-starter-logging:jar:2.5.12:compile
[INFO]       |  +- ch.qos.logback:logback-classic:jar:1.2.1:compile
[INFO]       |  |  \- ch.qos.logback:logback-core:jar:1.2.1:compile
[INFO]       |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.17.2:compile
[INFO]       |  |  \- org.apache.logging.log4j:log4j-api:jar:2.17.2:compile
[INFO]       |  \- org.slf4j:jul-to-slf4j:jar:1.7.36:compile
[INFO]       +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO]       +- org.springframework:spring-core:jar:5.3.18:compile
[INFO]       |  \- org.springframework:spring-jcl:jar:5.3.18:compile
[INFO]       \- org.yaml:snakeyaml:jar:1.28:compile

Suggested solutions:

Update dependency version

Thank you very much.

请问是否支持K8S中应用的录制跟踪,比如跟踪K8S中的java应用的录制,能否跟踪K8S容器内的java进程名

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

前端报错问题解决 ReferenceError: primordials is not defined

client/package.json中"gulp": "^3.9.1", 在npm run build 时会报错ReferenceError: primordials is not defined
原因是因为 node版本与gulp版本不兼容导致
解决办法:
"scripts": {
"preinstall": "npx npm-force-resolutions",
"dev": "cross-env NODE_ENV=local vue-cli-service serve",
"build": "vue-cli-service build && gulp"
},
"resolutions": {
"graceful-fs": "^4.2.4"
},

然后执行 npm install
npm run build

APACHE_HTTP_CLIENT的插件加载失败

module在加载的时候,会报下面的错,有没有人遇到过

10:31:40.164 [moonbox-thread-pool-1] INFO com.vivo.jvm.sandbox.moonbox.module.MoonboxModule - start to initialize repeater plugin type:APACHE_HTTP_CLIENT,taskRunId:rc_id_11598b6960082f0433533c471a8b98e7
10:31:40.164 [moonbox-thread-pool-1] INFO com.vivo.jvm.sandbox.moonbox.module.MoonboxModule - enable plugin apache-http-client success
10:31:40.320 [moonbox-thread-pool-1] INFO com.alibaba.jvm.sandbox.core.manager.impl.DefaultModuleEventWatcher - watch=1009 in module=moonbox found 1 classes for watch(ing).
10:31:40.378 [moonbox-thread-pool-1] INFO com.alibaba.jvm.sandbox.core.enhance.weaver.asm.EventWeaver - rewrite method org.apache.http.impl.client.InternalHttpClient#doExecute(org.apache.http.HttpHost,org.apache.http.HttpRequest,org.apache.http.protocol.HttpContext) for listener[id=1010];event=BEFORE,RETURN,THROWS;
10:31:40.379 [moonbox-thread-pool-1] INFO com.alibaba.jvm.sandbox.core.manager.impl.SandboxClassFileTransformer - transform org/apache/http/impl/client/InternalHttpClient finished, by module=moonbox in loader=org.springframework.boot.loader.LaunchedURLClassLoader@5345dfe8
10:31:40.384 [moonbox-thread-pool-1] WARN com.alibaba.jvm.sandbox.core.manager.impl.DefaultModuleEventWatcher - watch=1009 in module=moonbox single reTransform class org.apache.http.impl.client.InternalHttpClient failed, at index=0;total=1. ignore this class.
java.lang.UnsupportedOperationException: class redefinition failed: attempted to change the schema (add/remove fields)
at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
at com.alibaba.jvm.sandbox.core.manager.impl.DefaultModuleEventWatcher.reTransformClasses(DefaultModuleEventWatcher.java:120)
at com.alibaba.jvm.sandbox.core.manager.impl.DefaultModuleEventWatcher.watch(DefaultModuleEventWatcher.java:212)
at com.alibaba.jvm.sandbox.core.manager.impl.DefaultModuleEventWatcher.watch(DefaultModuleEventWatcher.java:167)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.alibaba.jvm.sandbox.core.util.SandboxProtector$2.invoke(SandboxProtector.java:91)
at com.sun.proxy.$Proxy41.watch(Unknown Source)
at com.alibaba.jvm.sandbox.api.listener.ext.EventWatchBuilder.build(EventWatchBuilder.java:788)
at com.alibaba.jvm.sandbox.api.listener.ext.EventWatchBuilder.access$400(EventWatchBuilder.java:35)
at com.alibaba.jvm.sandbox.api.listener.ext.EventWatchBuilder$BuildingForBehavior.onWatch(EventWatchBuilder.java:662)
at com.alibaba.jvm.sandbox.repeater.plugin.core.impl.spi.AbstractInvokePluginAdapter.watchIfNecessary(AbstractInvokePluginAdapter.java:130)
at com.alibaba.jvm.sandbox.repeater.plugin.core.impl.spi.AbstractInvokePluginAdapter.watch(AbstractInvokePluginAdapter.java:65)
at com.vivo.jvm.sandbox.moonbox.module.MoonboxModule.initialize(MoonboxModule.java:274)
at com.vivo.jvm.sandbox.moonbox.module.MoonboxModule.lambda$loadCompleted$0(MoonboxModule.java:212)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:31:40.384 [moonbox-thread-pool-1] INFO com.alibaba.jvm.sandbox.core.enhance.weaver.EventListenerHandler - activated listener[id=1010;target=DefaultEventListener:invokeType=APACHE_HTTP_CLIENT;entrance=false;] event=BEFORE,RETURN,THROWS
10:31:40.384 [moonbox-thread-pool-1] INFO com.alibaba.jvm.sandbox.repeater.plugin.core.impl.spi.AbstractInvokePluginAdapter - add watcher success,type=APACHE_HTTP_CLIENT,watcherId=1009
10:31:40.384 [moonbox-thread-pool-1] INFO com.vivo.jvm.sandbox.moonbox.module.MoonboxModule - end to initialize repeater plugin type:APACHE_HTTP_CLIENT,taskRunId:rc_id_11598b6960082f0433533c471a8b98e7, cost:220

试用时,上传agent 响应为413 Request Entity Too Large

按照 docker 部署手册安装了moonbox, 在试用上传agent 的功能时,直接用代码工程目录下 local-agent 下的dand-stagble-bin.tar 上传替换 sandbox-agent,前端显示报错如下:
rror: <title>413 Request Entity Too Large</title>

413 Request Entity Too Large


nginx/1.25.3

http调用返回结果为org.springframework.http.ResponseEntity类型时,查看接口详情时报错

当http调用(调用类型为REST_CLIENT)的返回结果为org.springframework.http.ResponseEntity类型时,查看接口详情时会报类型错误:
"Could not write JSON: Class java.util.HashMap not subtype of org.springframework.http.HttpHeaders; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Class java.util.HashMap not subtype of org.springframework.http.HttpHeaders (through reference chain: com.vivo.internet.moonbox.common.api.dto.MoonBoxResult["data"]->com.vivo.internet.moonbox.service.console.vo.RecordDetailVo["subInvocations"]->java.util.ArrayList[0]->com.vivo.internet.moonbox.service.console.vo.InvocationVo["response"]->org.springframework.http.ResponseEntity["headers"])"

MoonBox 月光宝盒 Monthly Newsletter 2023-8

✨月光宝盒 Monthly newsletter (2023.08)

—————————————————————————

一、【项目开发动态】

  1. 最新提交的重大PR:流量录制回放支持Motan RPC框架。该PR合并后月光宝盒将支持Dubbo和Motan两种RPC框架。PR review进行中,欢迎查看和参与,链接:#46
  2. 修复一个CVE,升级Spring Boot 版本 2.5.12至2.5.14
  3. 为了更好地保护知识产权,本项目已开启DCO强制签署,在提交PR时需要使用-s或--signoff选项自动签署DCO。

二、【项目社区参与情况】

1. 用户数

  • 微信群总人数:281

2.GitHub

  • star总数:765
  • Fork 总数:125
  • Issues 提交总数:32(待处理10)
  • 公开使用企业数:2
    👉传送门:https://github.com/vivo

3.Gitee

——————————————————————
欢迎各位积极参与贡献、分享案例!

能够支持类似于https://github.com/arextest开源项目回归录制的功能

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

centos上docker部署失败

error:
moonbox-elasticsearch | Invalid -Xlog option '-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m', see error log for details.
moonbox-elasticsearch | Error: Could not create the Java Virtual Machine.
moonbox-elasticsearch | Error: A fatal exception has occurred. Program will exit.
moonbox-elasticsearch | at org.elasticsearch.tools.launchers.JvmOption.flagsFinal(JvmOption.java:119)
moonbox-elasticsearch | at org.elasticsearch.tools.launchers.JvmOption.findFinalOptions(JvmOption.java:81)
moonbox-elasticsearch | at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:38)
moonbox-elasticsearch | at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:135)
moonbox-elasticsearch | at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:86)

启动录制任务后,日志报错Provider sun.tools.attach.LinuxAttachProvider not found

具体报错详情
java.util.ServiceConfigurationError: com.sun.tools.attach.spi.AttachProvider: Provider sun.tools.attach.LinuxAttachProvider not found at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:593)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1219)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
at jdk.attach/com.sun.tools.attach.spi.AttachProvider.providers(AttachProvider.java:260)
at jdk.attach/com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:200)
at com.alibaba.jvm.sandbox.core.CoreLauncher.attachAgent(CoreLauncher.java:59)
at com.alibaba.jvm.sandbox.core.CoreLauncher.(CoreLauncher.java:20)
at com.alibaba.jvm.sandbox.core.CoreLauncher.main(CoreLauncher.java:43)

这个是什么情况?

初次使用,运行时agent状态为离线状态,

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.
image

请问需要对某个接口使用不同的用户token进行并发是怎么录制和回放的?我看了bilibili官方的录制和回访教程,好像都是针对一个接口的同一个用户token进行的,如果针对100个不同的用户token进行高并发请求怎么做?并且有些接口的参数是动态数组的,当接口并发需要并发1万个数组参数的时候怎么录制实现?麻烦告知一下,谢谢

请问需要对某个接口使用不同的用户token进行并发是怎么录制和回放的?我看了bilibili官方的录制和回访教程,好像都是针对一个接口的同一个用户token进行的,如果针对100个不同的用户token进行高并发请求怎么做?并且有些接口的参数是动态数组的,当接口并发需要并发1万个数组参数的时候怎么录制实现?麻烦告知一下,谢谢

sandbox attach 进程后,应用端报 url 错误

2023-03-02T10:05:22.407+08:00 INFO 14054 --- [Attach Listener] c.v.j.s.moonbox.module.MoonboxModule : module on loaded, id: moonbox, version: 1.0.0, mode: ATTACH
2023-03-02T10:05:22.407+08:00 INFO 14054 --- [Attach Listener] c.v.j.s.moonbox.module.MoonboxModule : moonbox module onActive...
2023-03-02T10:05:22.409+08:00 INFO 14054 --- [eartbeat-pool-1] c.v.j.s.m.module.MoonboxHeartbeatTask : moonbox repeater is starting! heartbeat ignored! taskRunId=null
Exception in thread "moonbox-thread-pool-1" java.lang.IllegalArgumentException: unexpected url: null/api/agent/getConfig?_r=1&taskRunId=null&ip=127.0.1.1
at okhttp3.Request$Builder.url(Request.java:143)
at com.alibaba.jvm.sandbox.repeater.plugin.core.utils.HttpUtil.doGet(HttpUtil.java:73)
at com.alibaba.jvm.sandbox.repeater.plugin.core.impl.api.MoonboxConfigManager.pullConfig(MoonboxConfigManager.java:48)
at com.vivo.jvm.sandbox.moonbox.module.MoonboxModule.lambda$loadCompleted$0(MoonboxModule.java:171)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2023-03-02T10:05:32.409+08:00 INFO 14054 --- [eartbeat-pool-1] c.v.j.s.m.module.MoonboxHeartbeatTask : moonbox repeater is starting! heartbeat ignored! taskRunId=null
2023-03-02T10:05:42.410+08:00 INFO 14054 --- [eartbeat-pool-1] c.v.j.s.m.module.MoonboxHeartbeatTask : moonbox repeater is starting! heartbeat ignored! taskRunId=null
2023-03-02T10:05:52.410+08:00 INFO 14054 --- [eartbeat-pool-1] c.v.j.s.m.module.MoonboxHeartbeatTask : moonbox repeater is starting! heartbeat

您在使用MoonBox吗?

首先诚挚地感谢每一位持续关注并使用 MoonBox 的朋友。我们会持续投入,力图把 MoonBox 变得更好,把 MoonBox 社区变得更加繁荣。为了更好的聆听社区的声音,吸引更多的人使用和参与,我们期待您在此提交一条评论, 评论内容包括:

您所在公司、学校或组织
您将 MoonBox 用于哪些业务场景
您可以参考下面的样例来提供您的信息:

公司:vivo
网址:https://www.vivo.com.cn/ (方便用获取LOGO)
场景:线上问题诊断排查
再次感谢你的参与!!!

sandbox官网包升级后,提示缺少参数 -T。

jvm-sandbox已经多次更新,修复了bug和优化。但是项目中的sandbox 带传参-T 这个版本,在sandbox中没找到对应的版本。
moonbox的sandbox是否为二次开发?如果是,是否可提供源码用于升级sandbox版本?

sandbox支持agent方式挂载吗?

目前月光宝盒默认的方式为attach,这个方式对java方法录制较为严苛,是否可以通过在被测程序启动的时候,指定javaagent进行agent挂载,数据也可以上报到moonbox?

流量录制-新增模块-应用名称是个下拉框如何新增应用?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

请问能够后期做类似于 [链接1] 这样的功能

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

链接1 https://blog.csdn.net/wx17343624830/article/details/130154830

您在使用MoonBox吗?

首先诚挚地感谢每一位持续关注并使用 MoonBox 的朋友。我们会持续投入,力图把 MoonBox 变得更好,把 MoonBox 社区变得更加繁荣。为了更好的聆听社区的声音,吸引更多的人使用和参与,我们期待您在此提交一条评论, 评论内容包括:

您所在公司、学校或组织
您将 Arthas 用于哪些业务场景
您可以参考下面的样例来提供您的信息:

公司:vivo
网址:https://www.vivo.com.cn (方便用获取LOGO)

场景:线上问题诊断排查
再次感谢你的参与!!!

MoonBox 社区交流群申请未得到答复

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

请问 moonbox 支持 dubbo2.6 版本的录制吗

直接使用 jvm-sandbox-repeater 的时候,发现其对dubbo 的录制,依赖于 Filter 的 onResponse 这个钩子方法。但是 dubbo 2.6 版本中没有这个方法,所以录制会失败。
请问 moonbox 可以录制 dubbo 2.6 吗?我看它对 dubbo 的录制实现和 repeater 的还是有挺多不一样的地方,尚不了解其应用范围。
请了解的小伙伴告知下哈

routes.js添加缓存配置cache: true但是keep-alive未生效

record/index.vue中实现页面缓存用的 Utils.getLocalStorage,能够生效;但是在 client\src\router\routes.js 中配置 /mock/index 页面增加缓存配置 cache: true 不生效?打印日志发现 第二次进入页面的时候created钩子被再次调用,没找到keep-alive未生效的原因,可否看一下如何处理?
{
path: '/mock/index',
component: () => import(/* webpackChunkName: 'mock' */ 'views/mock/index'),
name: 'mock',
meta: {
title: '回放Mock',
cache: true
}
},

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.