vivo / moonbox Goto Github PK
View Code? Open in Web Editor NEW月光宝盒:无侵入的流量录制与回放平台 A server-side traffic capture and replay platform with noninvasive
License: Apache License 2.0
月光宝盒:无侵入的流量录制与回放平台 A server-side traffic capture and replay platform with noninvasive
License: Apache License 2.0
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
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):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
咨询下: 是否支持对native方法的录制mock. 比如. java.lang.System#currentTimeMillis().
当前前端的node版本比较低,在自己和公司的运行环境都不太支持,请问后续有升级版本的计划吗?
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
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
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):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
录制dubbo数据时,接口uri中存在类似
uri=DUBBO://com.xxx.xxxApi/$invokeAsync(java.lang.String,java.lang.String[],java.lang.Object[])的接口时,由于未进行encodeURI,导致页面查询时报400错误
Describe the bug
docker-compose up 在苹果m系列的电脑上并不能运行,mysql镜像平台不匹配
触发的问题链接
sprintcube/docker-compose-lamp#167
修复方式:
docker-compose.yaml文件里面指定: platform: linux/amd64
例如新增一个用户,等待用户id:2,接着拿着用户id为2去调用查询用户接口,你们有这样的场景吗,是怎么解决这种场景下的测试的。
流量录制需要对应的机器ip和密码,不太适用于k8s环境下对特定的service进行流量录制,后续有计划支持吗?
Hi, In /moonbox-server/moonbox-service-agent,there is a dependency org.springframework:spring-beans:5.3.18 that calls the risk method.
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.
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.
agent在线后,请求接口没有抓到接口,服务端也没有报错
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
目前尝试了下MoonBox安装在虚拟机下。然后通过Moonbox的前端页面,添加回放的远程应用节点,远程的应用节点安装在docker中时attach是失败的,远程节点如果是装在虚拟机下可以正常attach,所以我的理解为了能attach到容器是需要对docker的镜像做改造吗,场景跟这个有点像alibaba/jvm-sandbox#330
文档中没有写应用端应该要做的配置?
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
按照 docker 部署手册安装了moonbox, 在试用上传agent 的功能时,直接用代码工程目录下 local-agent 下的dand-stagble-bin.tar 上传替换 sandbox-agent,前端显示报错如下:
rror: <title>413 Request Entity Too Large</title>
当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"])"
看代码里,录制下来的流量存储在ES里,如果录制了一条流量,如果子调用比较大的话,查询ES会不会比较慢
—————————————————————————
1. 用户数
2.GitHub
3.Gitee
——————————————————————
欢迎各位积极参与贡献、分享案例!
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.
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)
具体报错详情
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)
这个是什么情况?
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.
在kafka插件内没有看到assembleMockResponse的处理,采用默认的mock处理形式,测试的时候发现类型转换有问题
请问需要对某个接口使用不同的用户token进行并发是怎么录制和回放的?我看了bilibili官方的录制和回访教程,好像都是针对一个接口的同一个用户token进行的,如果针对100个不同的用户token进行高并发请求怎么做?并且有些接口的参数是动态数组的,当接口并发需要并发1万个数组参数的时候怎么录制实现?麻烦告知一下,谢谢
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 用于哪些业务场景
您可以参考下面的样例来提供您的信息:
公司:vivo
网址:https://www.vivo.com.cn/ (方便用获取LOGO)
场景:线上问题诊断排查
再次感谢你的参与!!!
jvm-sandbox已经多次更新,修复了bug和优化。但是项目中的sandbox 带传参-T 这个版本,在sandbox中没找到对应的版本。
moonbox的sandbox是否为二次开发?如果是,是否可提供源码用于升级sandbox版本?
没有源码不太方便调试 能否将修改后的sandbox也放出来
目前月光宝盒默认的方式为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.
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 社区变得更加繁荣。为了更好的聆听社区的声音,吸引更多的人使用和参与,我们期待您在此提交一条评论, 评论内容包括:
您所在公司、学校或组织
您将 Arthas 用于哪些业务场景
您可以参考下面的样例来提供您的信息:
公司:vivo
网址:https://www.vivo.com.cn (方便用获取LOGO)
场景:线上问题诊断排查
再次感谢你的参与!!!
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.
直接使用 jvm-sandbox-repeater 的时候,发现其对dubbo 的录制,依赖于 Filter 的 onResponse 这个钩子方法。但是 dubbo 2.6 版本中没有这个方法,所以录制会失败。
请问 moonbox 可以录制 dubbo 2.6 吗?我看它对 dubbo 的录制实现和 repeater 的还是有挺多不一样的地方,尚不了解其应用范围。
请了解的小伙伴告知下哈
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
}
},
I want use MoonBox in gRPC server, are there any plans to implement it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.