planout4j | Java port of Facebook 's PlanOut A/B testing system

 by   Glassdoor Java Version: Current License: Non-SPDX

kandi X-RAY | planout4j Summary

kandi X-RAY | planout4j Summary

planout4j is a Java library. planout4j has no bugs, it has no vulnerabilities, it has build file available and it has low support. However planout4j has a Non-SPDX License. You can download it from GitHub, Maven.

PlanOut4J is a Java-based implementation of Facebook's PlanOut, an A/B testing framework designed to conduct experiments on the web at scale. PlanOut4J makes it easy to express, deploy and maintain sophisticated randomized experiments and to quickly iterate on these experiments, while satisfying the constraints of large-scale Internet services with many users. PlanOut4J's emphasis is to enable persons who don't necessarily have comprehensive engineering background create and maintain experiments easily. To that extent, we utilize PlanOut DSL wrapped into an intuitive YAML format. Here is a simple config file describing a trivial namespace (more about namespaces below). What's going on here?. Firstly, we need a namespace. One might think of namespaces are containers used to run multiple experiments concurrently without stepping on each others' toes where such interference is undesirable. For a particular user, only a single experiment in a given namespace can be active at any given point in time. However, the same user can participate in multiple experiments from different namespaces. We put experiments that manipulate closely related parameters into the same namespace, thus avoiding something like presenting a user with white text on white background. If we save the above YAML in a file test.yaml we have test namespace. Within namespace config, we define the name of the input parameter which represents out primary unit of traffic segmentation (userid in this case) as well as the number of segments to split the traffic into (100). Then we define two experiments: Default_Experiment and Button_Experiment. The former is required to give all parameters initial values which are used when a user is not part of any experiment. The lines following !planout | (which represent YAML syntax for assigning a tag and expecting multiline string) are the written in the PlanOut DSL and can be as trivial or as complicated as needed. The latter experiment involves randomly assigning button color and text, with color being uniformly distributed and text having custom weights. In the last section, experiment_sequence, we "instantiate" Button_Experiment and allocate 40% of traffic to it.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              planout4j has a low active ecosystem.
              It has 104 star(s) with 45 fork(s). There are 23 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 9 open issues and 21 have been closed. On average issues are closed in 28 days. There are 6 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of planout4j is current.

            kandi-Quality Quality

              planout4j has no bugs reported.

            kandi-Security Security

              planout4j has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              planout4j has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              planout4j releases are not available. You will need to build from source code and install.
              Deployable package is available in Maven.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed planout4j and discovered the below as its top functions. This is intended to give you an instant insight into planout4j implemented functionality, and help decide if they suit your requirements.
            • Entry point for the program
            • Add command line arguments
            • Adds the backend options to the parser
            • Configure the command line arguments parser
            • Entry point for the plan
            • Parses and validates namespaces
            • Loads all namespace configs from persistence backend
            • Main execution of the command line arguments
            • Generate a namespace configuration
            • Executes the mapper command
            • Performs simple execution
            • Perform the conjunction with multiplicative form
            • Executes the delegate
            • Entry point for the command line
            • Loads all files matching the given pattern
            • Creates and configures a plan backend
            • Saves plan4j configuration
            • Execute sumative function
            • Runs the demo
            • Determine assignments for a given experiment
            • Evaluates command line arguments
            • Get the planout logger
            • Pretty prints this condition
            • Perform shuffle implementation
            • Forward to a JSON file
            • Performs a simple execution
            Get all kandi verified functions for this library.

            planout4j Key Features

            No Key Features are available at this moment for planout4j.

            planout4j Examples and Code Snippets

            No Code Snippets are available at this moment for planout4j.

            Community Discussions

            No Community Discussions are available at this moment for planout4j.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install planout4j

            You can download it from GitHub, Maven.
            You can use planout4j like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the planout4j component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/Glassdoor/planout4j.git

          • CLI

            gh repo clone Glassdoor/planout4j

          • sshUrl

            git@github.com:Glassdoor/planout4j.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Reuse Pre-built Kits with planout4j

            Consider Popular Java Libraries

            CS-Notes

            by CyC2018

            JavaGuide

            by Snailclimb

            LeetCodeAnimation

            by MisterBooo

            spring-boot

            by spring-projects

            Try Top Libraries by Glassdoor

            speed-daemon

            by GlassdoorJavaScript

            PreferenceX

            by GlassdoorKotlin