The Abacus usage metering and aggregation service.
- refactor provisioning config and account plugins
- improve flexibility of metering, rating, and pricing plans
- persist last submitted runtime usage GUID
- detect conflicting runtime usage events
- improve error reporting
- store usage processing errors in a separate DB
- refactor time window processing using moment.js
- fixes to time window based usage accumulation
- support out of sequence time-based usage events
- remove consumers without usage from aggregated usage
- support variable usage slack window
- improve duplicate usage doc detection
- improve GraphQL error reporting
- support user-defined quantities and costs in GraphQL reports
- new Concourse build and test pipeline
- pluggable database support
- support both CouchDB and MongoDB databases
- improved pipeline configuration documentation
- improved security configuration documentation
- secure /log, /healthcheck and /hystrix routes
- refactor CF bridge OAuth support
- secure CF bridge routes
- fix OAuth token refresh logic
- improve CF bridge performance
- add useful error logging
- Node.js 5.10, 6.2
- Npm 3.8
- CouchDB 1.6+ compatible database or MongoDB 3.2+ database
- Cloud Foundry v226+
- refactor provisioning config and account plugins
- improve flexibility of metering, rating, and pricing plans
- persist last submitted runtime usage GUID
- refactor time window processing
- fixes to time window based usage accumulation
- support out of sequence time-based usage events
- remove consumers without usage from aggregated usage
- support variable usage slack window
- improve GraphQL error reporting
- support user-defined quantities and costs in GraphQL reports
- pluggable database support
- support both CouchDB and MongoDB databases
- improved pipeline configuration documentation
- improved security configuration documentation
- secure /log routes
- refactor CF bridge OAuth support
- secure CF bridge routes
- improve CF bridge performance
- add useful error logging
- Node.js 0.12, 4.2, 5.6
- CouchDB 1.6+ compatible database or MongoDB 3.2+ database
- Cloud Foundry v210+
- Refactor plugins to use separate metering, rating and pricing plans
- Database client fixes
- Handle runtime usage GUID resets
- Metering and rating configuration at the resource/plan level
- Usage rating at the resource instance level
- Remove separate rating service
- Disable BigNumber errors with more than 15 significant digits
- Fixes to time window and slack window processing logic
- Refactor and simplify aggregation processing
- Include account id in aggregated usage
- Remove deprecated region property
- Optionally post aggregated usage to an external service
- Upgrade to latest Node dependencies
- Improve BOSH release creation and deployment scripts
- Improve performance of deployment to CF
- Monitoring of Abacus services using Hystrix, Eureka and Turbine
- Config options and instrumentation to help monitor memory usage
- Fix service health reporting logic
- Refactor and simplify OAuth support module
- Don't write passwords to debug log
- Improve memory usage and fix memory leaks
- Tune throttling and cache sizes
- Implement usage processing backpressure
- Minimize number of usage replays when recovering
- Node.js 0.12, 4.2, 5.3
- CouchDB 1.6+ compatible database
- Cloud Foundry v210+
- Scoped organization ids (e.g. per deployment, region, zone etc)
- Optionally replay unprocessed usage after a restart
- Accurate floating point calculations using BigNumber.js
- Fix remaining timing and event sequencing issues in tests
- Several small/medium/large deployment config options
- Prototype of a BOSH release for Abacus
- Japanese translation
- Performance optimizations, latency and memory footprint
- Node.js 0.12, 4.2, 5.0
- CouchDB 1.6+ compatible database
- Cloud Foundry v210+
- Accept and record duplicate usage docs
- Fix issue with db partitioning in provisioning service
- Fix timing and event sequencing issues in tests
- Fix detection of duplicate usage docs with multiple consumers
- App health checks based on error rates
- Optional registration in Eureka for monitoring with Hystrix
- Support easier app environment configuration with .rc files
- Node.js 0.12, 4.2
- CouchDB 1.6 compatible database
- Cloud Foundry v210+
- Change consumer field type to a string
- Improve error reporting
- Store provider client id with submitted usage
- Bug fixes with usage accumulation and slack windows
- Improve reliability of duplicate usage doc detection
- Fix handling of undefined usage values
- Improvements to make test logic independent of timing
- Throttle usage submission at startup time
- Pass Abacus token instead of client token to resource config service
- Add a test UAA stub service allowing all tests to run with security
- Use more consistent config variable names
- Faster duplicate usage doc detection
- Reduced number of database writes per usage doc
- Fixed Node.js IO starvation issues under load
- More flexible database name configuration
- More flexible database partitioning configuration
- Node.js 0.10, 0.12, 4.2
- CouchDB 1.6 compatible database
- Cloud Foundry v210+
- Simpler and more consistent usage submission API
- Single usage model for runtime and service resources
- Pluggable usage validation
- Usage accumulation over month, day, hour, min, sec time windows
- Configurable accumulation functions
- Automatic calculation of time-based usage consumption
- Handling of out of sequence and delayed usage
- Usage aggregation over orgs, spaces, resources, consumers and apps
- Configurable aggregation functions
- Rating of aggregated usage
- Configurable pricing and rating functions
- Simpler and more consistent usage reporting API
- Default usage summary reports
- Configurable summary and charge calculation functions
- GraphQL usage query API
- Pluggable resource provider and resource configuration onboarding
- Pluggable org collection management
- Authentication using OAuth tokens
- Usage submission authorization using OAuth scopes
- Pluggable usage reporting authorization
- CF app usage bridge to Abacus
- Improvements to the API doc
- FAQ with a few initial questions
- Support for usage region info
- Performance improvements
- DB error handling improvements
- Increased test coverage
- Integration and performance tests
- Node.js 0.10, 0.12, 4.2
- CouchDB 1.6 compatible database
- Cloud Foundry v210+
Initial public contribution