1
0
Fork 0

Add examples to the query administration.

This commit is contained in:
Willi Goesgens 2015-08-11 16:13:35 +02:00
parent c07ede6230
commit 9038aa3da9
1 changed files with 56 additions and 24 deletions

View File

@ -1,42 +1,74 @@
!CHAPTER Module "queries"
The query module provides the infrastructure for defining HTTP queries.
The query module provides the infrastructure for working with currently running AQL queries via arangosh.
!SUBSECTION Properties
`queries.properties()` Returns the servers current query tracking configuration; we change the slow query threshhold to get better results:
@startDocuBlockInline QUERY_01_properyOfQueries
@EXAMPLE_ARANGOSH_OUTPUT{QUERY_01_properyOfQueries}
~var queries = require("org/arangodb/aql/queries");
queries.properties();
queries.properties({slowQueryThreshold: 1});
@END_EXAMPLE_ARANGOSH_OUTPUT
@endDocuBlock QUERY_01_properyOfQueries
!SUBSECTION Currently running queries
We [create a task](../ModuleTasks/index.html) that spawns queries, so we have nice output. Since this task
uses resources, you may want to increase `period` (and not forget to remove it... afterwards):
`require("org/arangodb/aql/queries").current();`
@startDocuBlockInline QUERY_02_listQueries
@EXAMPLE_ARANGOSH_OUTPUT{QUERY_02_listQueries}
var queries = require("org/arangodb/aql/queries");
var tasks = require("org/arangodb/tasks");
|tasks.register({
| id: "mytask-1",
| name: "this is a sample task to spawn slow aql queries",
| period: 2,
| command: "require('internal').db._query('FOR sleepLoooong IN 1..5 LET sleepLoooonger = SLEEP(1) RETURN sleepLoooong');"
});
~require("internal").wait(5)
queries.current();
@END_EXAMPLE_ARANGOSH_OUTPUT
@endDocuBlock QUERY_02_listQueries
The function returns the currently running AQL queries as an array.
!SUBSECTION Slow queries
The function returns the last AQL queries that exceeded the slow query threshold as an array:
`require("org/arangodb/aql/queries").slow();`
The function returns the last AQL queries that exceeded the slow query threshold as an array.
@startDocuBlockInline QUERY_03_listSlowQueries
@EXAMPLE_ARANGOSH_OUTPUT{QUERY_03_listSlowQueries}
~var queries = require("org/arangodb/aql/queries");
queries.slow();
@END_EXAMPLE_ARANGOSH_OUTPUT
@endDocuBlock QUERY_03_listSlowQueries
!SUBSECTION Clear slow queries
Clear the list of slow AQL queries:
`require("org/arangodb/aql/queries").clearSlow();`
@startDocuBlockInline QUERY_04_clearSlowQueries
@EXAMPLE_ARANGOSH_OUTPUT{QUERY_04_clearSlowQueries}
~var queries = require("org/arangodb/aql/queries");
queries.clearSlow();
queries.slow();
@END_EXAMPLE_ARANGOSH_OUTPUT
@endDocuBlock QUERY_04_clearSlowQueries
Clears the list of slow AQL queries.
!SUBSECTION Properties
`require("org/arangodb/aql/queries").properties();`
Returns the current query tracking configuration.
!SUBSECTION Kill
Kill a running AQL query:
@startDocuBlockInline QUERY_05_killQueries
@EXAMPLE_ARANGOSH_OUTPUT{QUERY_05_killQueries}
~var queries = require("org/arangodb/aql/queries");
~var tasks = require("org/arangodb/tasks");
var oneQuery = queries.current()[1];
queries.kill(oneQuery.id);
tasks.unregister("mytask-1");
@END_EXAMPLE_ARANGOSH_OUTPUT
@endDocuBlock QUERY_05_killQueries
`require("org/arangodb/aql/queries").kill();`
Kills a running AQL query.
var tasks = require("org/arangodb/tasks");
tasks.register({
id: "mytask-1",
name: "this is a snippet task",
period: 15,
command: "require('console').log('hello from snippet task');"
});