将加特林报告上传到 s3
Uploading gatling report to s3
我正在运行集群中进行一些压力测试。我在 jar 中编译 Gatling 代码,然后 运行 在 dockerized 环境中编译它。同样,我想知道是否有办法将最终的 Gatling 报告上传到 S3。 Gatling 模拟 class 中有 after
挂钩,但我认为这是在生成报告之前执行的。
我认为在不更改加特林代码或 jar 的情况下执行此操作的一种简单方法是:
- 使 docker 容器 运行 将测试 运行 作为初始化容器
- 在初始容器有 运行 之后,一个主容器启动并可以使用 bash 命令或其他任何东西(例如,使用 tinys3 - https://github.com/smore-inc/tinys3 )进行 s3 上传
只是一个一般的例子:
apiVersion: v1
kind: Pod
metadata:
labels:
app.kubernetes.io/instance: gatling-stress-test
app.kubernetes.io/name: gatling-stress-test
name: gatling-stress-test
spec:
initContainers:
- name: gatling-stress-test-runner
image: gatling-docker-image:latest
imagePullPolicy: Always
volumeMounts:
- mountPath: /full/path/to/gatling/reports
name: reports
containers:
- name: stress-test-s3-copier
image: ubuntu-image-with-tinys3:latest
imagePullPolicy: Always
volumeMounts:
- mountPath: /full/path/to/gatling/reports
name: reports
volumes:
- emptyDir: {}
name: reports
我正在运行集群中进行一些压力测试。我在 jar 中编译 Gatling 代码,然后 运行 在 dockerized 环境中编译它。同样,我想知道是否有办法将最终的 Gatling 报告上传到 S3。 Gatling 模拟 class 中有 after
挂钩,但我认为这是在生成报告之前执行的。
我认为在不更改加特林代码或 jar 的情况下执行此操作的一种简单方法是:
- 使 docker 容器 运行 将测试 运行 作为初始化容器
- 在初始容器有 运行 之后,一个主容器启动并可以使用 bash 命令或其他任何东西(例如,使用 tinys3 - https://github.com/smore-inc/tinys3 )进行 s3 上传
只是一个一般的例子:
apiVersion: v1
kind: Pod
metadata:
labels:
app.kubernetes.io/instance: gatling-stress-test
app.kubernetes.io/name: gatling-stress-test
name: gatling-stress-test
spec:
initContainers:
- name: gatling-stress-test-runner
image: gatling-docker-image:latest
imagePullPolicy: Always
volumeMounts:
- mountPath: /full/path/to/gatling/reports
name: reports
containers:
- name: stress-test-s3-copier
image: ubuntu-image-with-tinys3:latest
imagePullPolicy: Always
volumeMounts:
- mountPath: /full/path/to/gatling/reports
name: reports
volumes:
- emptyDir: {}
name: reports