1.0.0 - the crucible branch

Including sphinx, setuptools and panorama branches

This release contains a fair amount of changes and additions:

  • The addition of the crucible module into Skyline
  • The addition of sphinx-apidoc documentation
  • A new package layout to accommodate python-setuptools and sphinx-apidoc
  • A docs, Panorama and rebrow added to Webapp

These changes are backwards compatible in so much as an existing Skyline directory and file structure could be replaced by this release and a valid settings.py being deployed, whether the settings.py was the old format or the new format, the services for which the settings.py is configured will start. In theory. However there is so much change in this branch it probably cannot be stated with 100% certainty that something may not work as expected. Therefore, to be safe and transparent, lets say it is backwards incompatible. See Whats new for a full rundown since the last Etsy commit.

Crucible

The release adds the integration of crucible to allow for the storing of anomalous timeseries and related metadata. With the goal being able to produce anomaly analysis resources on the fly and add ad-hoc timeseries for crucible analysis.

See Crucible

sphinx documentation

The code has been documented with sphinx-apidoc, which was dependent on changes to the package structure, see below.

The docs are served via the webapp at http://:/static/docs or from your local repo in your browser at file:///docs/_build/html/index.html

setuptools

A package restructure was undertaken to make skyline a more traditional python package. Much of these changes were based on merging some of @languitar changes for setuptools and more pythonic structure that was submitted as:

Provide a setuptools-based build infrastructure #93 - etsy/#91

Webapp

The docs are now served by the Webapp and a menu referencing the different available endpoints in Webapp was added.

  • Basic security restrictions added.
  • gunicorn
  • New Panorama endpoint
  • New rebrow enadpoint

Performance tuning

See Analyzer Optimizations

Analyzer optimizations

See Analyzer Optimizations

algorithm_breakdown metrics

See Analyzer Optimizations

Improved log handling

See Logging

Panorama

See Panorama

Known issues in this release

Currently sphinx-apidoc is being used to documentation the code, however to get working docs, a small modification is required to the files outputted by sphinx-apidoc.

This is related to the package restructure undertaken to make the Skyline code and layout more in line with a normal python package. Although this seems to have been achieved, the small hack to the sphinx-apidoc output suggests that this is not 100% correct. Further evidence of this is in terms of importing from settings.py, the path needs to be appended in the code, which really should not be required. However, it is working and in the future this should be figured and fixed.

See Building Documentation