Skip to content

Commit

Permalink
Imported new docs for federation
Browse files Browse the repository at this point in the history
  • Loading branch information
mitsuhiko committed Jul 21, 2015
1 parent 4eb5ec6 commit 4e36ab5
Show file tree
Hide file tree
Showing 45 changed files with 1,025 additions and 2,138 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Expand Up @@ -17,8 +17,7 @@ celerybeat-schedule
/dist
/env
/node_modules/
/docs/html
/docs/doctrees
/docs/_build
example/db.sqlite
/src/sentry/static/sentry/dist/
/src/sentry/static/sentry/vendor/
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
@@ -0,0 +1,3 @@
[submodule "docs/_sentryext"]
path = docs/_sentryext
url = https://github.com/getsentry/sentry-doc-support
2 changes: 1 addition & 1 deletion Makefile
Expand Up @@ -18,7 +18,7 @@ dev-mysql: develop
pip install "file://`pwd`#egg=sentry[mysql]"

dev-docs:
pip install -r docs/requirements.txt
pip install -r doc-requirements.txt

reset-db:
@echo "--> Dropping existing 'sentry' database"
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion docs/Makefile
Expand Up @@ -5,7 +5,7 @@
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = ./
BUILDDIR = ./_build

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
Expand Down
1 change: 1 addition & 0 deletions docs/_sentryext
Submodule _sentryext added at 7a2aab
19 changes: 12 additions & 7 deletions docs/beacon.rst
@@ -1,24 +1,29 @@
Beacon
======

Sentry will periodically communicate with a remote beacon server. This is utilized for a couple of things, primarily:
Sentry will periodically communicate with a remote beacon server. This is
utilized for a couple of things, primarily:

- Getting information about the current version of Sentry
- Retrieving important system notices

The remote server is operated by the Sentry team (getsentry.com), and the information reported follows the company's `privacy policy <https://www.getsentry.com/privacy/>`_.
The remote server is operated by the Sentry team (getsentry.com), and the
information reported follows the company's `privacy policy
<https://www.getsentry.com/privacy/>`_.

The following information is reported:

- A unique installation ID
- The version of Sentry
- A technical contact email (``SENTRY_ADMIN_EMAIL``)
- General anonymous statistics on the data pattern (such as the number of users)
- General anonymous statistics on the data pattern (such as the number of
users)

Note: The contact email is utilized for security announcements, and will never be used outside of such.
Note: The contact email is utilized for security announcements, and will
never be used outside of such.

The data reported is minimal and it greatly helps the development team behind Sentry. With that said, you can disable the beacon with the following setting:

.. code-block:: python
The data reported is minimal and it greatly helps the development team
behind Sentry. With that said, you can disable the beacon with the
following setting::

SENTRY_BEACON = False
59 changes: 59 additions & 0 deletions docs/buffer.rst
@@ -0,0 +1,59 @@
Updating Buffers
================

Sentry provides the ability to buffer certain updates to events, such as
counts and timestamps. This is extremely helpful if you have high
concurrency, especially if they're frequently the same event.

For example, if you happen to receive 100,000 events/second, and 10% of
those are reporting a connection issue to the database (where they'd get
grouped together), enabling a buffer backend will change things so that
each count update is actually put into a queue, and all updates are
performed at the rate of how fast the queue can keep up.

Choosing a Backend
------------------

To specify a backend, simply modify the ``SENTRY_BUFFER`` and
``SENTRY_BUFFER_OPTIONS`` values in your configuration::

SENTRY_BUFFER = 'sentry.buffer.base.Buffer'
SENTRY_BUFFER_OPTIONS = {}


The Redis Backend
-----------------

Configuring the Redis backend **requires the queue** or you won't see any
gains (in fact you'll just negatively impact your performance).

Configuration is fairly straight forward::

SENTRY_BUFFER = 'sentry.buffer.redis.RedisBuffer'
SENTRY_BUFFER_OPTIONS = {
'hosts': {
0: {
'host': 'localhost',
'port': 6379
}
}
}

Because the Redis buffer relies on the Nydus package, this gives you the
ability to specify multiple nodes and have keys automatically distributed.
It's unlikely that you'll need this functionality, but if you do, a simple
configuration might look like this::

SENTRY_BUFFER_OPTIONS = {
'hosts': {
0: {
'host': '192.168.1.1'
},
1: {
'host': '192.168.1.2'
}
},
}

With the default configuration this will distribute keys using a simple
partition router (relatively even distribution).
61 changes: 0 additions & 61 deletions docs/buffer/index.rst

This file was deleted.

4 changes: 4 additions & 0 deletions docs/changelog.rst
@@ -0,0 +1,4 @@
Changelog
=========

.. include:: ../CHANGES
4 changes: 0 additions & 4 deletions docs/changelog/index.rst

This file was deleted.

35 changes: 17 additions & 18 deletions docs/cli/index.rst → docs/cli.rst
@@ -1,24 +1,23 @@
Command Line Usage
==================

Sentry installs a command line script under the name ``sentry``. This will allow you to
perform most required operations that are unachievable within the web UI.
Sentry installs a command line script under the name ``sentry``. This will
allow you to perform most required operations that are unachievable within
the web UI.

If you're using a non-standard configuration location you'll need to use the SENTRY_CONF environment
variable to specify the path:
If you're using a non-standard configuration location, you'll need to
prefix every command with --config (excluding init, which is a special
case). For example::

SENTRY_CONF=/etc/sentry.conf.py sentry help
sentry --config=/etc/sentry.conf.py help

For a list of commands, you can also use ``sentry help``, or ``sentry [command] --help``
for help on a specific command.

.. note:: The script is powered by a library called `Logan <https://github.com/dcramer/logan>`_
and simply acts as a conduit to django-admin.py.
For a list of commands, you can also use ``sentry help``, or ``sentry
[command] --help`` for help on a specific command.

Builtin Commands
----------------

.. data:: init [config]
.. describe:: init [config]

Initializes the configuration file for Sentry.

Expand All @@ -28,32 +27,32 @@ Builtin Commands

sentry init /etc/sentry.conf.py

.. note:: The init command requires you to pass the configuration value as the parameter whereas other
commands require you to use SENTRY_CONF for passing the location of this file.
.. note:: The init command requires you to pass the configuration
value as the parameter whereas other commands require you
to use --config for passing the location of this file.

.. data:: start [service]
.. describe:: start [service]

Starts a Sentry service. By default this value is 'http'.

::

sentry start

.. data:: upgrade
.. describe:: upgrade

Performs any needed database migrations. This is similar to running
``django-admin.py syncdb --migrate``.

.. data:: cleanup
.. describe:: cleanup

Performs all trim operations based on your configuration.

.. data:: repair
.. describe:: repair

Performs any needed repair against the Sentry database. This will attempt to correct
things like missing teams, project keys, etc.

If you specify ``--owner`` it will also update ownerless projects::

sentry repair --owner=<username>

41 changes: 0 additions & 41 deletions docs/client/index.rst

This file was deleted.

9 changes: 7 additions & 2 deletions docs/conf.py
Expand Up @@ -199,7 +199,7 @@
latex_documents = [
(
'index', 'Sentry.tex', u'Sentry Documentation',
u'David Cramer', 'manual'
u'Functional Software Inc.', 'manual'
),
]

Expand Down Expand Up @@ -233,5 +233,10 @@
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'sentry', u'Sentry Documentation',
[u'David Cramer'], 1)
[u'Functional Software Inc.'], 1)
]

if os.environ.get('SENTRY_FEDERATED_DOCS') != '1':
sys.path.insert(0, os.path.abspath('_sentryext'))
import sentryext
sentryext.activate()

0 comments on commit 4e36ab5

Please sign in to comment.