Added Elasticsearch APM options
authorThierry Florac <thierry.florac@onf.fr>
Mon, 24 Sep 2018 10:54:46 +0200
changeset 45 bad5178f7035
parent 44 89ed11ad2364
child 46 f373e2998735
Added Elasticsearch APM options
cookiecutter.json
{{cookiecutter.project_slug}}/buildout.cfg
{{cookiecutter.project_slug}}/etc/development.ini
{{cookiecutter.project_slug}}/etc/production.ini
{{cookiecutter.project_slug}}/setup.py
--- a/cookiecutter.json	Thu Jun 21 14:26:17 2018 +0200
+++ b/cookiecutter.json	Mon Sep 24 10:54:46 2018 +0200
@@ -25,8 +25,13 @@
   "use_elasticsearch": false,
   "elasticsearch_server": "http://127.0.0.1:9200",
   "elasticsearch_index": "pyams",
+  "elasticsearch_doctype": "PyAMS document",
   "create_elasticsearch_index": false,
   "define_elasticsearch_mappings": false,
+  "use_elasticsearch_apm": false,
+  "apm_server": "http://localhost:8200",
+  "apm_service_name": "PyAMS",
+  "apm_service_version": "pyams_apm",
   "smtp_server": "localhost",
   "smtp_server_name": "pyams",
   "pyams_scheduler": "127.0.0.1:5555",
--- a/{{cookiecutter.project_slug}}/buildout.cfg	Thu Jun 21 14:26:17 2018 +0200
+++ b/{{cookiecutter.project_slug}}/buildout.cfg	Mon Sep 24 10:54:46 2018 +0200
@@ -39,19 +39,22 @@
 {%- endif %}
     fanstatic
     nose
-{%- if cookiecutter.use_postgresql in ('true','on','yes','1') %}
+{%- if cookiecutter.use_postgresql.lower() in ('true','on','yes','1') %}
     psycopg2
 {%- endif %}
     pyams_alchemy
+{%- if cookiecutter.use_elasticsearch_apm.lower() in ('true','on','yes','1') %}
+    pyams_apm
+{%- endif %}
     pyams_catalog
     pyams_content
-{%- if cookiecutter.use_elasticsearch in ('true','on','yes','1') %}
+{%- if cookiecutter.use_elasticsearch.lower() in ('true','on','yes','1') %}
     pyams_content_es
 {%- endif %}
     pyams_file
     pyams_form
     pyams_i18n
-{%- if cookiecutter.use_ldap in ('true','on','yes','1') %}
+{%- if cookiecutter.use_ldap.lower() in ('true','on','yes','1') %}
     pyams_ldap
 {%- endif %}
     pyams_mail
@@ -78,7 +81,7 @@
     pyramid_beaker
     pyramid_chameleon
     pyramid_debugtoolbar
-{%- if cookiecutter.use_elasticsearch in ('true','on','yes','1') %}
+{%- if cookiecutter.use_elasticsearch.lower() in ('true','on','yes','1') %}
     pyramid_es
 {%- endif %}
     pyramid_fanstatic
--- a/{{cookiecutter.project_slug}}/etc/development.ini	Thu Jun 21 14:26:17 2018 +0200
+++ b/{{cookiecutter.project_slug}}/etc/development.ini	Mon Sep 24 10:54:46 2018 +0200
@@ -24,6 +24,9 @@
     pyramid_es
 {%- endif %}
     pyramid_rpc.jsonrpc
+{%- if cookiecutter.use_elasticsearch_apm.lower() in ('true','on','yes','1') %}
+    pyams_apm
+{%- endif %}
     pyams_template
     pyams_viewlet
     pyams_pagelet
@@ -76,12 +79,21 @@
 fanstatic.minified = false
 fanstatic.bottom = true
 fanstatic.debug = true
-
 {%- if cookiecutter.use_elasticsearch.lower() in ('true','on','yes','1') %}
 
 ## ElasticSearch settings
 elastic.servers = {{ cookiecutter.elasticsearch_server }}
 elastic.index = {{ cookiecutter.elasticsearch_index }}
+elastic.doc_type = {{ cookiecutter.elasticsearch_doctype }}
+{%- endif %}
+{%- if cookiecutter.use_elasticsearch_apm.lower() in ('true','on','yes','1') %}
+
+## ElasticSearch APM settings
+elasticapm.name = Elastic APM
+elasticapm.server_url = {{ cookiecutter.apm_server }}
+elasticapm.service_name = {{ cookiecutter.apm_service_name }}
+elasticapm.service_version = {{ cookiecutter.apm_service_version }}
+elasticapm.debug = false
 {%- endif %}
 
 ## Beaker session settings
@@ -178,7 +190,7 @@
 ## Settings are not used after database upgrade is complete
 
 ## References tables container name
-# pyams_content.config.tables_name = references
+# pyams_content.config.tables_name = tables
 
 ## Pictograms tables name
 # pyams_content.config.pictograms_table_name = pictograms
@@ -197,25 +209,31 @@
 ## - a tool name
 ## Default values are defined for both into PyAMS_content package via factory adapters.
 ## You can override default factory by defining these settings or by providing your own adapters.
+
 # pyams_content.config.views_tool_factory = pyams_content.shared.view.manager.ViewsManager
 # pyams_content.config.views_tool_name = views
+
 # pyams_content.config.logos_tool_factory = pyams_content.shared.logo.manager.LogosManager
 # pyams_content.config.logos_tool_name = logos
+
 # pyams_content.config.imagemaps_tool_factory = pyams_content.shared.imagemap.manager.ImageMapsManager
 # pyams_content.config.imagemaps_tool_name = imgmaps
+
 # pyams_content.config.forms_tool_factory = pyams_content.shared.form.manager.FormsManager
 # pyams_content.config.forms_tool_name = forms
+
 # pyams_content.config.news_tool_factory = pyams_content.shared.news.manager.NewsManager
 # pyams_content.config.news_tool_name = news
 
 ## Shared contents configuration
 ## Default factories are defined into PyAMS_content package via factory adapters.
 ## You can override default factory by defining these settings or by providing your own adapters.
+
 # pyams_content.config.blog_factory = pyams_content.shared.blog.manager.BlogManager
 # pyams_content.config.blogpost_factory = pyams_content.shared.blog.BlogPost
 # pyams_content.config.site_factory = pyams_content.shared.site.manager.SiteManager
 # pyams_content.config.folder_factory = pyams_content.shared.site.folder.SiteFolder
-# pyams_content.config.topic_factory = pyams_content.shared.site.Topic
+# pyams_content.config.topic_factory = pyams_content.shared.site.SiteTopic
 
 
 ###
--- a/{{cookiecutter.project_slug}}/etc/production.ini	Thu Jun 21 14:26:17 2018 +0200
+++ b/{{cookiecutter.project_slug}}/etc/production.ini	Mon Sep 24 10:54:46 2018 +0200
@@ -23,6 +23,9 @@
     pyramid_es
 {%- endif %}
     pyramid_rpc.jsonrpc
+{%- if cookiecutter.use_elasticsearch_apm.lower() in ('true','on','yes','1') %}
+    pyams_apm
+{%- endif %}
     pyams_template
     pyams_viewlet
     pyams_pagelet
@@ -71,12 +74,21 @@
 fanstatic.minified = true
 fanstatic.bottom = true
 fanstatic.debug = false
-
 {%- if cookiecutter.use_elasticsearch.lower() in ('true','on','yes','1') %}
 
 ## ElasticSearch settings
 elastic.servers = {{ cookiecutter.elasticsearch_server }}
 elastic.index = {{ cookiecutter.elasticsearch_index }}
+elastic.doc_type = {{ cookiecutter.elasticsearch_doctype }}
+{%- endif %}
+{%- if cookiecutter.use_elasticsearch_apm.lower() in ('true','on','yes','1') %}
+
+## ElasticSearch APM settings
+elasticapm.name = Elastic APM
+elasticapm.server_url = {{ cookiecutter.apm_server }}
+elasticapm.service_name = {{ cookiecutter.apm_service_name }}
+elasticapm.service_version = {{ cookiecutter.apm_service_version }}
+elasticapm.debug = false
 {%- endif %}
 
 ## Beaker session settings
@@ -173,7 +185,7 @@
 ## Settings are not used after database upgrade is complete
 
 ## References tables container name
-# pyams_content.config.tables_name = references
+# pyams_content.config.tables_name = tables
 
 ## Pictograms tables name
 #pyams_content.config.pictograms_table_name = pictograms
@@ -211,11 +223,12 @@
 ## Shared contents configuration
 ## Default factories are defined into PyAMS_content package via factory adapters.
 ## You can override default factory by defining these settings or by providing your own adapters.
+
 # pyams_content.config.blog_factory = pyams_content.shared.blog.manager.BlogManager
 # pyams_content.config.blogpost_factory = pyams_content.shared.blog.BlogPost
 # pyams_content.config.site_factory = pyams_content.shared.site.manager.SiteManager
 # pyams_content.config.folder_factory = pyams_content.shared.site.folder.SiteFolder
-# pyams_content.config.topic_factory = pyams_content.shared.site.Topic
+# pyams_content.config.topic_factory = pyams_content.shared.site.SiteTopic
 
 
 ###
--- a/{{cookiecutter.project_slug}}/setup.py	Thu Jun 21 14:26:17 2018 +0200
+++ b/{{cookiecutter.project_slug}}/setup.py	Mon Sep 24 10:54:46 2018 +0200
@@ -1,6 +1,6 @@
 import os
+from setuptools import find_packages, setup
 
-from setuptools import setup, find_packages
 
 here = os.path.abspath(os.path.dirname(__file__))
 with open(os.path.join(here, 'docs', 'README.txt')) as f:
@@ -25,6 +25,9 @@
     'psycopg2',
 {%- endif %}
     'pyams_alchemy',
+{%- if cookiecutter.use_elasticsearch_apm.lower() in ('true', 'on', 'yes', '1') %}
+    'pyams_apm',
+{%- endif %}
     'pyams_catalog',
     'pyams_content',
 {%- if cookiecutter.use_elasticsearch.lower() in ('true','on','yes','1') %}