grafana / k6-jslib-aws

Javascript Library allowing to interact with AWS resources from k6 scripts
Apache License 2.0
18 stars 29 forks source link

Added support for Kinesis #33

Closed autometa101 closed 1 year ago

autometa101 commented 1 year ago

Adding API Support for Kinesis. It will support all APIs from https://docs.aws.amazon.com/kinesis/latest/APIReference/API_Operations.html

CLAassistant commented 1 year ago

CLA assistant check
All committers have signed the CLA.

oleiade commented 1 year ago

Hey @autometa101, thanks for the further work you've put into this 🤝 and sorry for coming back to this so late, we had a company event in the meantime. We truly value your contribution and have been thinking about how to approach merging it in the main branch in the best conditions. The conclusion was that we would like to merge this PR soonish and incorporate the changes and documentation we think are necessary ourselves. The feature will therefore land in the next upcoming version of the library which has no release date set just yet 👍🏻

Let me know if you have any opposition to this plan, questions, or feedback. Otherwise, we'll just proceed. Cheers! 🚀

autometa101 commented 1 year ago

Hi @oleiade,

I was extensively using this library (branch) to publish few million messages in last days, where I found 2 issues as following.

  1. Too big request error, where k6/http post is throwing up the request error.
  2. AWS is throwing error EOF, for the similar reason.

However, I was not able to continue working on the requested changes to remove all methods and allow only limited with details. If there is no changes in direction, I am planning to continue development in next week. [p.s As User, I found very useful to just add the direct call to API if method is not available.]

oleiade commented 1 year ago

Hey @autometa101

Thanks for the heads-up 🙇🏻

Can you open GitHub issues about those specific issues you've encountered? If anything, they will make them visible to users using the Kinesis client once it's merged. We already have users asking about this feature, which will help us all keep track of limitations and potential issues users would run into.

My rationale was that the client is already in a usable state, and most of the blocking points are about how the code is structured, etcetera. We figured we would go faster doing those ourselves.

Here's how we're going to proceed then:

  1. I'll merge this in main
  2. I'll expect you to open the mentioned issues
  3. I'll make sure to publish the changes I make to the client in the form of a PR (I'll ask for your input to make sure that it works, etcetera).
  4. merge it and publish a 0.8.0 version of the library