mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Create galaxy-job-metrics package to share with Pulsar.
This commit is contained in:
+1
-2
@@ -10,9 +10,8 @@ import galaxy.model.security
|
||||
import galaxy.queues
|
||||
import galaxy.quota
|
||||
import galaxy.security
|
||||
from galaxy import config, jobs
|
||||
from galaxy import config, job_metrics, jobs
|
||||
from galaxy.containers import build_container_interfaces
|
||||
from galaxy.jobs import metrics as job_metrics
|
||||
from galaxy.managers.collections import DatasetCollectionManager
|
||||
from galaxy.managers.folders import FolderManager
|
||||
from galaxy.managers.histories import HistoryManager
|
||||
|
||||
@@ -16,7 +16,7 @@ import os
|
||||
|
||||
from galaxy import util
|
||||
from galaxy.util import plugin_config
|
||||
from ..metrics import formatting
|
||||
from ..job_metrics import formatting
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -59,8 +59,8 @@ class JobMetrics(object):
|
||||
return self.job_instrumenters[destination_id].collect_properties(job_id, job_directory)
|
||||
|
||||
def __plugins_dict(self):
|
||||
import galaxy.jobs.metrics.instrumenters
|
||||
return plugin_config.plugins_dict(galaxy.jobs.metrics.instrumenters, 'plugin_type')
|
||||
import galaxy.job_metrics.instrumenters
|
||||
return plugin_config.plugins_dict(galaxy.job_metrics.instrumenters, 'plugin_type')
|
||||
|
||||
|
||||
class NullJobInstrumenter(object):
|
||||
+1
-1
@@ -10,7 +10,7 @@ from abc import (
|
||||
|
||||
import six
|
||||
|
||||
from ...metrics import formatting
|
||||
from .. import formatting
|
||||
|
||||
INSTRUMENT_FILE_PREFIX = "__instrument"
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
.. :changelog:
|
||||
|
||||
History
|
||||
-------
|
||||
|
||||
.. to_doc
|
||||
|
||||
---------------------
|
||||
19.9.0.dev0
|
||||
---------------------
|
||||
|
||||
* Initial import from dev branch of Galaxy during 19.09 release cycle.
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
../../LICENSE.txt
|
||||
@@ -0,0 +1 @@
|
||||
include *.rst LICENSE
|
||||
@@ -0,0 +1,14 @@
|
||||
|
||||
.. image:: https://badge.fury.io/py/galaxy-job-metrics.svg
|
||||
:target: https://pypi.python.org/pypi/galaxy-job-metrics/
|
||||
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
The Galaxy_ job metrics framework and default plugins.
|
||||
|
||||
* Free software: Academic Free License version 3.0
|
||||
* Code: https://github.com/galaxyproject/galaxy
|
||||
|
||||
.. _Galaxy: http://galaxyproject.org/
|
||||
@@ -0,0 +1 @@
|
||||
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
|
||||
+1
@@ -0,0 +1 @@
|
||||
../../../lib/galaxy/job_metrics/
|
||||
@@ -0,0 +1,12 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
__version__ = '19.9.0.dev0'
|
||||
|
||||
PROJECT_NAME = "galaxy-job-metrics"
|
||||
PROJECT_OWNER = PROJECT_USERAME = "galaxyproject"
|
||||
PROJECT_URL = "https://github.com/galaxyproject/galaxy"
|
||||
PROJECT_AUTHOR = 'Galaxy Project and Community'
|
||||
PROJECT_EMAIL = 'jmchilton@gmail.com'
|
||||
RAW_CONTENT_URL = "https://raw.github.com/%s/%s/master/" % (
|
||||
PROJECT_USERAME, PROJECT_NAME
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
galaxy-util
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
../../setup.cfg
|
||||
@@ -0,0 +1,101 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import ast
|
||||
import os
|
||||
import re
|
||||
try:
|
||||
from setuptools import setup
|
||||
except ImportError:
|
||||
from distutils.core import setup
|
||||
|
||||
SOURCE_DIR = "galaxy"
|
||||
|
||||
_version_re = re.compile(r'__version__\s+=\s+(.*)')
|
||||
|
||||
with open('%s/project_galaxy_job_metrics.py' % SOURCE_DIR, 'rb') as f:
|
||||
init_contents = f.read().decode('utf-8')
|
||||
|
||||
def get_var(var_name):
|
||||
pattern = re.compile(r'%s\s+=\s+(.*)' % var_name)
|
||||
match = pattern.search(init_contents).group(1)
|
||||
return str(ast.literal_eval(match))
|
||||
|
||||
version = get_var("__version__")
|
||||
PROJECT_NAME = get_var("PROJECT_NAME")
|
||||
PROJECT_URL = get_var("PROJECT_URL")
|
||||
PROJECT_AUTHOR = get_var("PROJECT_AUTHOR")
|
||||
PROJECT_EMAIL = get_var("PROJECT_EMAIL")
|
||||
|
||||
TEST_DIR = 'tests'
|
||||
PROJECT_DESCRIPTION = 'Galaxy Job Metrics'
|
||||
PACKAGES = [
|
||||
'galaxy',
|
||||
'galaxy.job_metrics',
|
||||
'galaxy.job_metrics.instrumers',
|
||||
'galaxy.job_metrics.collectl',
|
||||
]
|
||||
ENTRY_POINTS = '''
|
||||
[console_scripts]
|
||||
'''
|
||||
PACKAGE_DATA = {
|
||||
# Be sure to update MANIFEST.in for source dist.
|
||||
'galaxy': [
|
||||
],
|
||||
}
|
||||
PACKAGE_DIR = {
|
||||
SOURCE_DIR: SOURCE_DIR,
|
||||
}
|
||||
|
||||
readme = open('README.rst').read()
|
||||
history = open('HISTORY.rst').read().replace('.. :changelog:', '')
|
||||
|
||||
if os.path.exists("requirements.txt"):
|
||||
requirements = open("requirements.txt").read().split("\n")
|
||||
else:
|
||||
# In tox, it will cover them anyway.
|
||||
requirements = []
|
||||
|
||||
|
||||
test_requirements = [
|
||||
# TODO: put package test requirements here
|
||||
]
|
||||
|
||||
|
||||
setup(
|
||||
name=PROJECT_NAME,
|
||||
version=version,
|
||||
description=PROJECT_DESCRIPTION,
|
||||
long_description=readme + '\n\n' + history,
|
||||
author=PROJECT_AUTHOR,
|
||||
author_email=PROJECT_EMAIL,
|
||||
url=PROJECT_URL,
|
||||
packages=PACKAGES,
|
||||
entry_points=ENTRY_POINTS,
|
||||
package_data=PACKAGE_DATA,
|
||||
package_dir=PACKAGE_DIR,
|
||||
include_package_data=True,
|
||||
install_requires=requirements,
|
||||
license="AFL",
|
||||
zip_safe=False,
|
||||
keywords='galaxy',
|
||||
classifiers=[
|
||||
'Development Status :: 5 - Production/Stable',
|
||||
'Intended Audience :: Developers',
|
||||
'Environment :: Console',
|
||||
'License :: OSI Approved :: Academic Free License (AFL)',
|
||||
'Operating System :: POSIX',
|
||||
'Topic :: Software Development',
|
||||
'Topic :: Software Development :: Code Generators',
|
||||
'Topic :: Software Development :: Testing',
|
||||
'Natural Language :: English',
|
||||
"Programming Language :: Python :: 2",
|
||||
'Programming Language :: Python :: 2.7',
|
||||
'Programming Language :: Python :: 3.4',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
'Programming Language :: Python :: 3.7',
|
||||
],
|
||||
test_suite=TEST_DIR,
|
||||
tests_require=test_requirements
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
../../../test/unit/jobs/test_job_metrics.py
|
||||
@@ -0,0 +1,7 @@
|
||||
from galaxy.job_metrics import JobMetrics
|
||||
|
||||
|
||||
def test_job_metrics_load():
|
||||
# Just construct the manager to make sure all the plugin classes load fine
|
||||
# and package is configured properly.
|
||||
JobMetrics()
|
||||
@@ -5,8 +5,8 @@ from unittest import TestCase
|
||||
|
||||
import psutil
|
||||
|
||||
from galaxy import job_metrics
|
||||
from galaxy import model
|
||||
from galaxy.jobs import metrics
|
||||
from galaxy.jobs.runners import local
|
||||
from galaxy.util import bunch
|
||||
from ..tools_support import (
|
||||
@@ -20,7 +20,7 @@ class TestLocalJobRunner(TestCase, UsesApp, UsesTools):
|
||||
def setUp(self):
|
||||
self.setup_app()
|
||||
self._init_tool()
|
||||
self.app.job_metrics = metrics.JobMetrics()
|
||||
self.app.job_metrics = job_metrics.JobMetrics()
|
||||
self.job_wrapper = MockJobWrapper(self.app, self.test_directory, self.tool)
|
||||
|
||||
def tearDown(self):
|
||||
|
||||
Reference in New Issue
Block a user