GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - indeedeng/proctor: Proctor is a Java-based A/B testing framework developed by, and used heavily within, Indeed.

This repository was archived by the owner on Jul 10, 2024. It is now read-only.
BranchesTags
Open more actions menu

Latest commit

 

History

2,421 Commits
2,421 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
gradle
gradle
 
 
proctor-ant-plugin
proctor-ant-plugin
 
 
proctor-builder
proctor-builder
 
 
proctor-codegen-test
proctor-codegen-test
 
 
proctor-codegen
proctor-codegen
 
 
proctor-common
proctor-common
 
 
proctor-consumer
proctor-consumer
 
 
proctor-pipet
proctor-pipet
 
 
proctor-store-git
proctor-store-git
 
 
proctor-store-svn
proctor-store-svn
 
 
proctor-store
proctor-store
 
 
proctor-tomcat-deps
proctor-tomcat-deps
 
 
proctor-webapp-library
proctor-webapp-library
 
 
proctor-webapp
proctor-webapp
 
 
.gitignore
.gitignore
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
LICENSE
LICENSE
 
 
OSSMETADATA
OSSMETADATA
 
 
README.md
README.md
 
 
build.gradle
build.gradle
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
settings.gradle
settings.gradle
 
 

Repository files navigation

Proctor

Lifecycle

NOTE: Indeed has discontinued supporting this project. Archiving will take place on 7/10/24. If you are interested in taking over as the Maintainer, please contact Indeed at [email protected]

Proctor is a A/B testing framework written in Java that enables data-driven product design at Indeed.

Proctor consists of data-model, client specification, client loader, matrix builder, java code generator.

Features:

  • consistent tests across multiple applications
  • group assignment adjustments without code deploys
  • rule-based group assignment: e.g. US users experience 50% A, 50% B and non-US users are 25% A, 25% B, 25% C, 25% D
  • human-readable test format
  • forcing of test groups for internal testing
  • java code generation for A/B tests groups

Installation

See Quick Start guide

Example

See proctor demo

Documentation

http://indeedeng.github.io/proctor

Building documentation locally

$ git checkout gh-pages
$ gem install bundler
$ bundle install
$ rake clean serve
  => open http://localhost:4000/ in browser

Building

Need to use Java 11 SDK for using gradle:

List installed java JVMs on MacOS:

$ /usr/libexec/java_home -V

Example output:

Matching Java Virtual Machines (9):
    17.0.6 (arm64) "Azul Systems, Inc." - "Zulu 17.40.19" /Library/Java/JavaVirtualMachines/jdk17.0.6.jdk/Contents/Home
    11.0.18 (arm64) "Azul Systems, Inc." - "Zulu 11.62.17" /Library/Java/JavaVirtualMachines/jdk11.0.18.jdk/Contents/Home
    11.0.17 (arm64) "Azul Systems, Inc." - "Zulu 11.60.19" /Library/Java/JavaVirtualMachines/jdk11.0.17.jdk/Contents/Home
    11.0.16 (arm64) "Azul Systems, Inc." - "Zulu 11.58.15" /Library/Java/JavaVirtualMachines/jdk11.0.16_8.jdk/Contents/Home
    11.0.15 (arm64) "Azul Systems, Inc." - "Zulu 11.56.19" /Library/Java/JavaVirtualMachines/jdk11.0.15_10.jdk/Contents/Home
    1.8.0_362 (arm64) "Azul Systems, Inc." - "Zulu 8.68.0.21" /Library/Java/JavaVirtualMachines/jdk1.8.0_362.jdk/Contents/Home
    1.8.0_345 (arm64) "Azul Systems, Inc." - "Zulu 8.64.0.19" /Library/Java/JavaVirtualMachines/jdk1.8.0_345.jdk/Contents/Home
    1.8.0_332 (arm64) "Azul Systems, Inc." - "Zulu 8.62.0.19" /Library/Java/JavaVirtualMachines/jdk1.8.0_332.jdk/Contents/Home
    1.8.0_322 (arm64) "Azul Systems, Inc." - "Zulu 8.60.0.21" /Library/Java/JavaVirtualMachines/jdk1.8.0_322.jdk/Contents/Home

Set JVM version in MacOS:

$ export JAVA_HOME=`/usr/libexec/java_home -v 11.0.18`

How to Build:

$ ./gradlew build

Local Install

Run the following gradle command and note the local version from the output:

$ ./gradlew clean check publish --refresh-dependencies 

Example output:

Calculating version to use for publish ...
Now using version: 0.local.20230711170543

> Task :proctor-common:compileJava

Example above would create local installation of proctor with version equal to 0.local.20230711170543

Discussion

Use the indeedeng-proctor-users Q&A forum to ask and answer questions about the use of Proctor.

Deploying

Contributing

See Also (other A/B test frameworks)

  • seatgeek/sixpack
  • bitlove/rollout
  • maccman/abba
  • assaf/vanity

Code of Conduct

This project is governed by the Contributor Covenant v 1.4.1

License

Apache License Version 2.0

About

Proctor is a Java-based A/B testing framework developed by, and used heavily within, Indeed.

opensource.indeedeng.io/proctor

Topics

ab-testingwebapps

Resources

Readme
License

Code of conduct

Code of conduct
Activity
Custom properties

Stars

465 stars

Watchers

1 watching

Forks

121 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.