Skip to content

Commit

Permalink
Feature: Add SPARQL query logging configuration (#181)
Browse files Browse the repository at this point in the history
* add SPARQL query logging configuration

* remove cube monitoring

* update index all code
  • Loading branch information
syphax-bouazzouni authored Jan 23, 2025
1 parent 5e63618 commit 6cb1891
Show file tree
Hide file tree
Showing 6 changed files with 138 additions and 113 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ gem 'bcrypt', '~> 3.0'
gem 'cube-ruby', require: 'cube'
gem 'faraday', '~> 1.9'
gem 'ffi', '~> 1.16.3'
gem 'libxml-ruby', '~> 2.0'
gem 'libxml-ruby'
gem 'minitest'
gem 'multi_json', '~> 1.0'
gem 'oj'
Expand Down
66 changes: 34 additions & 32 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
GIT
remote: https://github.com/ontoportal-lirmm/goo.git
revision: f8ac7b00e8d8b46d1eea04de014175525c1cdd83
revision: 27300f28ca6c656c7e78af65013d88b792a6312f
branch: development
specs:
goo (0.0.2)
Expand All @@ -18,7 +18,7 @@ GIT

GIT
remote: https://github.com/ontoportal-lirmm/sparql-client.git
revision: 59251e59346c9a69a67c88552ba55a1244eec602
revision: 4364d34e9e4c411f1dd0ea706bf052465bf0b467
branch: development
specs:
sparql-client (3.2.2)
Expand All @@ -40,19 +40,19 @@ GEM
ast (2.4.2)
base64 (0.2.0)
bcrypt (3.1.20)
bigdecimal (3.1.8)
bigdecimal (3.1.9)
builder (3.3.0)
childprocess (5.1.0)
logger (~> 1.5)
coderay (1.1.3)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
concurrent-ruby (1.3.5)
connection_pool (2.5.0)
crack (1.0.0)
bigdecimal
rexml
cube-ruby (0.0.3)
daemons (1.4.1)
date (3.3.4)
date (3.4.1)
docile (1.4.1)
domain_name (0.6.20240107)
email_spec (2.3.0)
Expand All @@ -76,35 +76,35 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-multipart (1.1.0)
multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
ffi (1.16.3)
hashdiff (1.1.1)
hashdiff (1.1.2)
hashie (5.0.0)
htmlentities (4.3.4)
http-accept (1.7.0)
http-cookie (1.0.7)
http-cookie (1.0.8)
domain_name (~> 0.5)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
json (2.7.2)
json (2.9.1)
json-ld (3.0.2)
multi_json (~> 1.12)
rdf (>= 2.2.8, < 4.0)
jwt (2.9.3)
jwt (2.10.1)
base64
language_server-protocol (3.17.0.3)
launchy (3.0.1)
addressable (~> 2.8)
childprocess (~> 5.0)
libxml-ruby (2.9.0)
libxml-ruby (5.0.3)
link_header (0.0.8)
logger (1.6.1)
logger (1.6.5)
macaddr (1.7.2)
systemu (~> 2.6.5)
mail (2.8.1)
Expand All @@ -116,7 +116,7 @@ GEM
mime-types (3.6.0)
logger
mime-types-data (~> 3.2015)
mime-types-data (3.2024.1001)
mime-types-data (3.2025.0107)
mini_mime (1.1.5)
minitest (4.7.5)
minitest-reporters (0.14.24)
Expand All @@ -126,9 +126,9 @@ GEM
powerbar
multi_json (1.15.0)
multipart-post (2.4.1)
net-http-persistent (4.0.4)
net-http-persistent (4.0.5)
connection_pool (~> 2.2)
net-imap (0.4.17)
net-imap (0.4.18)
date
net-protocol
net-pop (0.1.2)
Expand All @@ -138,21 +138,21 @@ GEM
net-smtp (0.5.0)
net-protocol
netrc (0.11.0)
oj (3.16.6)
oj (3.16.9)
bigdecimal (>= 3.0)
ostruct (>= 0.2)
omni_logger (0.1.4)
logger
ostruct (0.6.0)
ostruct (0.6.1)
parallel (1.26.3)
parser (3.3.5.0)
parser (3.3.7.0)
ast (~> 2.4.1)
racc
pony (1.13.1)
mail (>= 2.0)
powerbar (2.0.1)
hashie (>= 1.1.0)
pry (0.14.2)
pry (0.15.2)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.1.1)
Expand All @@ -179,30 +179,30 @@ GEM
rexml (~> 3.2)
redis (5.3.0)
redis-client (>= 0.22.0)
redis-client (0.22.2)
redis-client (0.23.2)
connection_pool
regexp_parser (2.9.2)
regexp_parser (2.10.0)
request_store (1.7.0)
rack (>= 1.4)
rest-client (2.1.0)
http-accept (>= 1.7.0, < 2.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rexml (3.3.8)
rexml (3.4.0)
rsolr (1.1.2)
builder (>= 2.1.2)
rubocop (1.67.0)
rubocop (1.70.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.4, < 3.0)
rubocop-ast (>= 1.32.2, < 2.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.36.2, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.32.3)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.37.0)
parser (>= 3.3.1.0)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
Expand All @@ -224,9 +224,11 @@ GEM
eventmachine (~> 1.0, >= 1.0.4)
rack (>= 1, < 3)
thread_safe (0.3.6)
timeout (0.4.1)
timeout (0.4.3)
tzinfo (0.3.62)
unicode-display_width (2.6.0)
unicode-display_width (3.1.4)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
uuid (2.3.9)
macaddr (~> 1.0)
webmock (3.24.0)
Expand All @@ -248,7 +250,7 @@ DEPENDENCIES
goo!
json-ld (~> 3.0.2)
jwt
libxml-ruby (~> 2.0)
libxml-ruby
minitest
minitest-reporters (>= 0.5.0)
multi_json (~> 1.0)
Expand Down
19 changes: 7 additions & 12 deletions lib/ontologies_linked_data/config/config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def config(&block)
@settings.search_server_url ||= 'http://localhost:8983/solr'
@settings.property_search_server_url ||= 'http://localhost:8983/solr'
@settings.repository_folder ||= './test/data/ontology_files/repo'
@settings.rest_url_prefix ||= DEFAULT_PREFIX
@settings.rest_url_prefix ||= DEFAULT_PREFIX
@settings.enable_security ||= false
@settings.enable_slices ||= false

Expand All @@ -53,9 +53,10 @@ def config(&block)
@settings.replace_url_prefix ||= false
@settings.id_url_prefix ||= DEFAULT_PREFIX
@settings.queries_debug ||= false
@settings.enable_monitoring ||= false
@settings.cube_host ||= 'localhost'
@settings.cube_port ||= 1180

# SPARQL logging
@settings.logging ||= false
@settings.log_file ||= './sparql.log'

# Caching http
@settings.enable_http_cache ||= false
Expand Down Expand Up @@ -120,6 +121,7 @@ def config(&block)
puts "(LD) >> Using property search server at #{@settings.property_search_server_url}"
puts "(LD) >> Using HTTP Redis instance at #{@settings.http_redis_host}:#{@settings.http_redis_port}"
puts "(LD) >> Using Goo Redis instance at #{@settings.goo_redis_host}:#{@settings.goo_redis_port}"
puts "(LD) >> Logging SPARQL queries to #{@settings.log_file}" if @settings.logging

connect_goo unless overide_connect_goo
end
Expand Down Expand Up @@ -147,14 +149,7 @@ def connect_goo
conf.add_search_backend(:property, service: @settings.property_search_server_url)
conf.add_redis_backend(host: @settings.goo_redis_host,
port: @settings.goo_redis_port)

if @settings.enable_monitoring
puts "(LD) >> Enable SPARQL monitoring with cube #{@settings.cube_host}:#{@settings.cube_port}"
conf.enable_cube do |opts|
opts[:host] = @settings.cube_host
opts[:port] = @settings.cube_port
end
end
conf.add_query_logger(enabled: @settings.logging, file: @settings.log_file)
end
rescue StandardError => e
abort("EXITING: Cannot connect to triplestore and/or search server:\n #{e}\n#{e.backtrace.join("\n")}")
Expand Down
Loading

0 comments on commit 6cb1891

Please sign in to comment.