Skip to content

Commit 454dde3

Browse files
committed
Making monitoring subpackage into a proper package.
- Adding README, setup.py, MANIFEST.in, .coveragerc and tox.ini - Adding google-cloud-monitoring as a dependency to the umbrella package - Adding the monitoring subdirectory into the list of packages for verifying the docs - Incorporating the monitoring subdirectory into the umbrella coverage report - Adding the monitoring only tox tests to the Travis config - Adding {toxinidir}/../core as a dependency for the monitoring tox config
1 parent 51b1b77 commit 454dde3

File tree

9 files changed

+193
-0
lines changed

9 files changed

+193
-0
lines changed

.travis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ script:
1717
- (cd language && tox -e py27)
1818
- (cd error_reporting && tox -e py27)
1919
- (cd resource_manager && tox -e py27)
20+
- (cd monitoring && tox -e py27)
2021
- tox -e py34
2122
- (cd core && tox -e py34)
2223
- (cd bigtable && tox -e py34)
@@ -29,6 +30,7 @@ script:
2930
- (cd language && tox -e py34)
3031
- (cd error_reporting && tox -e py34)
3132
- (cd resource_manager && tox -e py34)
33+
- (cd monitoring && tox -e py34)
3234
- tox -e lint
3335
- tox -e cover
3436
- (cd core && tox -e cover)
@@ -42,6 +44,7 @@ script:
4244
- (cd language && tox -e cover)
4345
- (cd error_reporting && tox -e cover)
4446
- (cd resource_manager && tox -e cover)
47+
- (cd monitoring && tox -e cover)
4548
- tox -e system-tests
4649
- tox -e system-tests3
4750
- scripts/update_docs.sh

monitoring/.coveragerc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[run]
2+
branch = True
3+
4+
[report]
5+
fail_under = 100
6+
show_missing = True
7+
exclude_lines =
8+
# Re-enable the standard pragma
9+
pragma: NO COVER
10+
# Ignore debug-only repr
11+
def __repr__

monitoring/MANIFEST.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
include README.rst
2+
graft google
3+
graft unit_tests
4+
global-exclude *.pyc

monitoring/README.rst

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
Python Client for Stackdriver Monitoring
2+
========================================
3+
4+
Python idiomatic client for `Stackdriver Monitoring`_
5+
6+
.. _Stackdriver Monitoring: https://cloud.google.com/monitoring/
7+
8+
- `Homepage`_
9+
- `API Documentation`_
10+
11+
.. _Homepage: https://googlecloudplatform.github.io/google-cloud-python/
12+
.. _API Documentation: http://googlecloudplatform.github.io/google-cloud-python/
13+
14+
Quick Start
15+
-----------
16+
17+
::
18+
19+
$ pip install --upgrade google-cloud-monitoring
20+
21+
Authentication
22+
--------------
23+
24+
With ``google-cloud-python`` we try to make authentication as painless as
25+
possible. Check out the `Authentication section`_ in our documentation to
26+
learn more. You may also find the `authentication document`_ shared by all
27+
the ``google-cloud-*`` libraries to be helpful.
28+
29+
.. _Authentication section: http://google-cloud-python.readthedocs.io/en/latest/google-cloud-auth.html
30+
.. _authentication document: https://github.com/GoogleCloudPlatform/gcloud-common/tree/master/authentication
31+
32+
Using the API
33+
-------------
34+
35+
`Stackdriver Monitoring`_ (`Monitoring API docs`_) collects metrics,
36+
events, and metadata from Google Cloud Platform, Amazon Web Services (AWS),
37+
hosted uptime probes, application instrumentation, and a variety of common
38+
application components including Cassandra, Nginx, Apache Web Server,
39+
Elasticsearch and many others. Stackdriver ingests that data and generates
40+
insights via dashboards, charts, and alerts.
41+
42+
This package currently supports all Monitoring API operations other than
43+
writing custom metrics.
44+
45+
.. _Stackdriver Monitoring: https://cloud.google.com/monitoring/
46+
.. _Monitoring API docs: https://cloud.google.com/monitoring/api/ref_v3/rest/
47+
48+
List available metric types:
49+
50+
.. code:: python
51+
52+
from google.cloud import monitoring
53+
client = monitoring.Client()
54+
for descriptor in client.list_metric_descriptors():
55+
print(descriptor.type)
56+
57+
Display CPU utilization across your GCE instances during the last five minutes:
58+
59+
.. code:: python
60+
61+
metric = 'compute.googleapis.com/instance/cpu/utilization'
62+
query = client.query(metric, minutes=5)
63+
print(query.as_dataframe())
64+
65+
See the ``google-cloud-python`` API `monitoring documentation`_ to learn how
66+
to connect to Stackdriver Monitoring using this Client Library.
67+
68+
.. _monitoring documentation: https://googlecloudplatform.github.io/google-cloud-python/stable/monitoring-usage.html

monitoring/setup.py

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Copyright 2016 Google Inc.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
import os
16+
17+
from setuptools import find_packages
18+
from setuptools import setup
19+
20+
21+
PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__))
22+
23+
with open(os.path.join(PACKAGE_ROOT, 'README.rst')) as file_obj:
24+
README = file_obj.read()
25+
26+
# NOTE: This is duplicated throughout and we should try to
27+
# consolidate.
28+
SETUP_BASE = {
29+
'author': 'Google Cloud Platform',
30+
'author_email': '[email protected]',
31+
'scripts': [],
32+
'url': 'https://github.com/GoogleCloudPlatform/google-cloud-python',
33+
'license': 'Apache 2.0',
34+
'platforms': 'Posix; MacOS X; Windows',
35+
'include_package_data': True,
36+
'zip_safe': False,
37+
'classifiers': [
38+
'Development Status :: 4 - Beta',
39+
'Intended Audience :: Developers',
40+
'License :: OSI Approved :: Apache Software License',
41+
'Operating System :: OS Independent',
42+
'Programming Language :: Python :: 2',
43+
'Programming Language :: Python :: 2.7',
44+
'Programming Language :: Python :: 3',
45+
'Programming Language :: Python :: 3.4',
46+
'Programming Language :: Python :: 3.5',
47+
'Topic :: Internet',
48+
],
49+
}
50+
51+
52+
REQUIREMENTS = [
53+
'google-cloud-core',
54+
]
55+
56+
setup(
57+
name='google-cloud-monitoring',
58+
version='0.20.0dev',
59+
description='Python Client for Stackdriver Monitoring',
60+
long_description=README,
61+
namespace_packages=[
62+
'google',
63+
'google.cloud',
64+
],
65+
packages=find_packages(),
66+
install_requires=REQUIREMENTS,
67+
**SETUP_BASE
68+
)

monitoring/tox.ini

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[tox]
2+
envlist =
3+
py27,py34,py35,cover
4+
5+
[testing]
6+
deps =
7+
{toxinidir}/../core
8+
pytest
9+
covercmd =
10+
py.test --quiet \
11+
--cov=google.cloud.monitoring \
12+
--cov=unit_tests \
13+
--cov-config {toxinidir}/.coveragerc \
14+
unit_tests
15+
16+
[testenv]
17+
commands =
18+
py.test --quiet {posargs} unit_tests
19+
deps =
20+
{[testing]deps}
21+
22+
[testenv:cover]
23+
basepython =
24+
python2.7
25+
commands =
26+
{[testing]covercmd}
27+
deps =
28+
{[testenv]deps}
29+
coverage
30+
pytest-cov

scripts/verify_included_modules.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
'error_reporting',
6868
'language',
6969
'logging',
70+
'monitoring',
7071
'pubsub',
7172
'resource_manager',
7273
'storage',

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
'google-cloud-error-reporting',
5959
'google-cloud-language',
6060
'google-cloud-logging',
61+
'google-cloud-monitoring',
6162
'google-cloud-pubsub',
6263
'google-cloud-resource-manager',
6364
'google-cloud-storage',

tox.ini

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ deps =
1515
{toxinidir}/language
1616
{toxinidir}/error_reporting
1717
{toxinidir}/resource_manager
18+
{toxinidir}/monitoring
1819
pytest
1920
covercmd =
2021
py.test --quiet \
@@ -88,6 +89,12 @@ covercmd =
8889
--cov-append \
8990
--cov-config {toxinidir}/.coveragerc \
9091
resource_manager/unit_tests
92+
py.test --quiet \
93+
--cov=google.cloud \
94+
--cov=unit_tests \
95+
--cov-append \
96+
--cov-config {toxinidir}/.coveragerc \
97+
monitoring/unit_tests
9198
coverage report --show-missing --fail-under=100
9299

93100
[testenv]

0 commit comments

Comments
 (0)