Giter Site home page Giter Site logo

splitio / split-evaluator Goto Github PK

View Code? Open in Web Editor NEW
13.0 20.0 5.0 1.89 MB

Wrapper of NodeJS SDK that exposes evaluation of features as a microservice

Home Page: https://split.io

License: Other

JavaScript 99.84% Dockerfile 0.16%
nodejs feature-flags microservice docker

split-evaluator's Introduction

Split Evaluator

build workflow Documentation

Overview

This services exposes a set of APIs to produce server side evaluation of flags by wrapping a NodeJS SDK.

Twitter Follow

Compatibility

Split Evaluator supports Node version 8 or higher.

Getting started

Below is a simple example that describes the instantiation of Split Evaluator:

Usage via NodeJs

  1. Install npm packages via npm install
  2. Then, execute SPLIT_EVALUATOR_API_KEY=<YOUR-SDK-KEY> SPLIT_EVALUATOR_AUTH_TOKEN=<YOUR-AUTH-TOKEN> SPLIT_EVALUATOR_SERVER_PORT=7548 SPLIT_EVALUATOR_LOG_LEVEL=debug npm start

Docker

  1. You can pull the Docker image from Docker Hub and run it into your container environment.
docker pull splitsoftware/split-evaluator:latest
  1. Run the image:
docker run --rm --name split-evaluator \
 -p 7548:7548 \
 -e SPLIT_EVALUATOR_API_KEY=<YOUR-SDK-KEY> \
 -e SPLIT_EVALUATOR_AUTH_TOKEN=<YOUR-AUTH-TOKEN> \
 splitsoftware/split-evaluator

Please refer to our official docs to learn about all the functionality provided by Split Evaluator and the configuration options available for tailoring it to your current application setup.

Submitting issues

The Split team monitors all issues submitted to this issue tracker. We encourage you to use this issue tracker to submit any bug reports, feedback, and feature enhancements. We'll do our best to respond in a timely manner.

Contributing

Please see Contributors Guide to find all you need to submit a Pull Request (PR).

License

Licensed under the Apache License, Version 2.0. See: Apache License.

About Split

Split is the leading Feature Delivery Platform for engineering teams that want to confidently deploy features as fast as they can develop them. Split’s fine-grained management, real-time monitoring, and data-driven experimentation ensure that new features will improve the customer experience without breaking or degrading performance. Companies like Twilio, Salesforce, GoDaddy and WePay trust Split to power their feature delivery.

To learn more about Split, contact [email protected], or get started with feature flags for free at https://www.split.io/signup.

Split has built and maintains SDKs for:

For a comprehensive list of opensource projects visit our Github page.

Learn more about Split:

Visit split.io/product for an overview of Split, or visit our documentation at docs.split.io for more detailed information.

split-evaluator's People

Contributors

dependabot[bot] avatar emilianosanchez avatar emmaz90 avatar facundocabrera avatar github-actions[bot] avatar israphel avatar lucianocaravajal avatar marquezmanu avatar mmelograno avatar nicozelaya avatar nikoe14 avatar patricioe avatar sanjeevkarani avatar sanzmauro avatar sarrubia avatar

Stargazers

 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

split-evaluator's Issues

Value undefined for attribute warning

Hi,

I'm using the split evaluator to do treatment requests on our backend and saw this in the logs

[WARN]  splitio-engine:value => Value undefined for attribute my_attr doesn't match with expected type.

The request:

GET /client/get-treatment-with-config?attributes=%7B%22my_attr%22%3A%22my_value%22%7D&key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&split-name=my_split_name 200 67 - 0.847 ms

Is there something I'm doing wrong? Thank you!

Application quits on timeout instead of retrying

The application quits on timeout instead of retrying.
The previous versions handled this gracefully.

Error: Client timed out for api key ################################abcd

Current Behavior: Exit
Ideal Behavior: Graceful retry

Version: 2.2.0 (Oct 31, 2022)

Upgrading to 2.0.4 results in higher memory usage

After upgrading from 2.0.2 -> 2.0.4, our application noticed significantly higher memory usage. After reverting back to 2.0.2, memory usage returned back to normal levels. Are there any known issues or relevant changes in 2.0.4 that may have caused this?

Here is a screenshot of the relevant metrics showing the difference between versions:
split_mem

Memory utilization spikes after upgrading

After upgrading to version 2.3.0 from 2.2.0 of the split evaluator container for some testing we're seeing several spikes in memory utilization that didn't exist in 2.2.0. The spikes would peak between 40% - 80% utilization whereas 2.2.0 did not have such dramatic spikes in usage and typically kept at a consistent 10% - 15% utilization. As a note our containers run with 2 GB of memory. Just curious if this is expected behavior or if there are any possible known issues with 2.3.0.

Docker hub is missing 2.0.3 tag

There is no 2.0.3 tag listed in Docker hub, yet 2.0.4 exists and was pushed 15 days ago.

Is there a reason for this discrepancy? If not, can this tag be pushed to Docker hub?

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.