Skip to content

Instantly share code, notes, and snippets.

@ableasdale
Created May 4, 2015 13:20
Show Gist options
  • Save ableasdale/babab76eaa858932ffec to your computer and use it in GitHub Desktop.
Save ableasdale/babab76eaa858932ffec to your computer and use it in GitHub Desktop.
Meters database fragment report (hourly)
xquery version "1.0-ml";
declare namespace meters = "http://marklogic.com/manage/meters";
declare variable $DATABASE-NAME as xs:string := "Documents";
declare variable $FILENAME as xs:string := "/tmp/fragment-report.csv";
declare variable $QUERY := cts:search(doc(),
cts:and-query((
cts:element-query(fn:QName("http://marklogic.com/manage/meters","database-statuses"), cts:and-query(()) ),
cts:element-value-query(fn:QName("http://marklogic.com/manage/meters","period"), "hour")
))
);
xdmp:save($FILENAME,
(
text{"Start time, Active Framents, Nascent Fragments, Deleted Fragments
",
for $x in $QUERY
let $element := $x//meters:database-status/meters:database-name[. eq $DATABASE-NAME]/..
order by $element/meters:start-time
return
string-join(
(
$element/meters:start-time/text(),
$element/meters:master-aggregate/meters:active-fragment-count/text(),
$element/meters:master-aggregate/meters:nascent-fragment-count/text(),
$element/meters:master-aggregate/meters:deleted-fragment-count/text(),
"
"
),
", ")}))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment