joseluissr / awsmeter Goto Github PK
View Code? Open in Web Editor NEWJMeter plugin to execute load test over Kinesis Data Stream, SQS Standard and FIFO Queues, SNS Standard and FIFO Topics, Cognito AWS services.
License: Apache License 2.0
JMeter plugin to execute load test over Kinesis Data Stream, SQS Standard and FIFO Queues, SNS Standard and FIFO Topics, Cognito AWS services.
License: Apache License 2.0
Hi Jose, do you have this JMeter's Redshift Load testing file .jmx (as per link below) with you that you can share ?. thanks
https://aws.amazon.com/blogs/big-data/automate-amazon-redshift-load-testing-with-the-aws-analytics-automation-toolkit/
c:\JMETER\apache-jmeter-5.4.1\Redshift Load Test.jmx.
When I use the SNS producer Standar and FIFO always I get the error Cannot call GetSessionToken with session credentials.
I have MFA credentials:
[default]
aws_access_key_id = AKxxxxxxxxxxxxxxxxT4
aws_secret_access_key = wt36xxxxxxxxxxxxxxxxxxxxxxxx26KO
[mfa]
aws_access_key_id = ASxxxxxxxxxxxxxxxxR24
aws_secret_access_key = DvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhW
aws_session_token = FwoxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxSK+LTq
and set parameter of 'org.apache.jmeter.protocol.aws.sqs.SQSProducerStandardQueue' Java Request sampler:
aws_configure_profile = mfa
In this case Response Body is "The security token included in the request is invalid."
Does awsmeter not read aws_session_token from file?
awsmeter is working only if following parameter of Java Request sampler is define:
aws_session_token = FwoxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxSK+LTq
I set the correct aws_access_key_id, aws_secret_access_key, aws_region and sqs_queue_name in SQSProducerFifoQueue parameters, this should be enough to send a message to SQS, but I was unable to do so due to error:
software.amazon.awssdk.core.exception.SdkClientException: Unable to load region from any of the providers in the chain software.amazon.awssdk.regions.providers.DefaultAwsRegionProviderChain@1886ab0a: [software.amazon.awssdk.regions.providers.SystemSettingsRegionProvider@47562565: Unable to load region from system settings. Region must be specified either via environment variable (AWS_REGION) or system property (aws.region)., software.amazon.awssdk.regions.providers.AwsProfileRegionProvider@1a67aa6: No region provided in profile: default, software.amazon.awssdk.regions.providers.InstanceProfileRegionProvider@16549e69: Unable to contact EC2 metadata service.]
at software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:98) ~[awsmeter-2.1.1.jar:?]
at software.amazon.awssdk.regions.providers.AwsRegionProviderChain.getRegion(AwsRegionProviderChain.java:70) ~[awsmeter-2.1.1.jar:?]
at org.apache.jmeter.protocol.aws.AWSClient.getAWSRegion(AWSClient.java:35) ~[awsmeter-2.1.1.jar:?]
The reason seems to be that in AWSClient.getAWSRegion()
, it's using orElse()
which will execute the getDefaultAwsRegionProviderChain
/getRegion()
even if AWS region is already provided in credentials
. It should be using orElseGet()
instead.
The same problem exists in AWSClient.getAWSAccessKeyId()
and AWSClient.getAWSSecretAccessKey()
as well.
Once this is fixed, there is another issue that prevents me from using the sampler without a profile: if no session token is provided in credentials, AWSClient.getAWSSessionToken()
's orElseGet()
will be run, it will throw exception if there's no profile. This should be changed so that if an exception is thrown, getAWSSessionToken()
will return null, so that AWSClientSDK2.getAwsCredentialsProvider()
will use basic credentials instead.
Descript:
My project need the data that send in kinesis must include a null character, which use escape character "\0" for null, so my test data like: "test\0", but it seems the \0 is not was escaped when storing to Kinesis, as I check from my cloud side, the binary chars for "\0" is [92 48] instead of [0], could you help to check how can I store the escape character to kinesis, please ? thanks
Its one of easy and useful plugin to use.
Some projects, we need to send payload consists of a json arraylist.
For putRecords action (https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html) current implementation is failing.
I installed the plugin, but I am not getting thread groups related sqs or sns
Java version - 11
Jmeter versionn - 5.5
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.