mirror of
https://github.com/NationalSecurityAgency/timely.git
synced 2026-11-09 17:36:01 -10:00
Compare commits
22
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d4e504b31c | ||
|
|
32ae6ee399 | ||
|
|
9688514a0f | ||
|
|
9aa089a585 | ||
|
|
8d75089525 | ||
|
|
7857d862b3 | ||
|
|
e8e2e5e144 | ||
|
|
33515061b7 | ||
|
|
7d2ab1be7e | ||
|
|
521969b9ee | ||
|
|
62fb143490 | ||
|
|
08cf3dc5c2 | ||
|
|
6831223f50 | ||
|
|
20ed753723 | ||
|
|
a8e3737200 | ||
|
|
d1c3989a8d | ||
|
|
5712ebe2ae | ||
|
|
e47cbe5e3b | ||
|
|
f5b3a205b2 | ||
|
|
a2b61191c7 | ||
|
|
adfd4080bd | ||
|
|
483f5f8f1a |
No files matched your search
@@ -1,5 +1,5 @@
|
||||
Make sure you've checked off all these things before submitting:
|
||||
!!!!! STOP AND READ !!!!!
|
||||
|
||||
- [ ] This pull request isn't for a company's fork, it's intended for the upstream Slate shared by everybody.
|
||||
- [ ] This pull request is submitted to the `dev` branch.
|
||||
- [ ] If it makes frontend changes, this pull request has been tested in the latest version of Firefox, Chrome, IE, and Safari.
|
||||
If the dropdown above says "base fork: lord/master", you are submitting your change to ALL USERS OF SLATE, not just your company. This is probably not what you want. Click "base fork" to change it to the right place.
|
||||
|
||||
If you're actually trying to submit a change to upstream Slate, please submit to our dev branch, PRs sent to the master branch are generally rejected.
|
||||
+2
-2
@@ -3,8 +3,8 @@ sudo: false
|
||||
language: ruby
|
||||
|
||||
rvm:
|
||||
- 2.0.0
|
||||
- 2.1.0
|
||||
- 2.2.5
|
||||
- 2.3.1
|
||||
|
||||
cache: bundler
|
||||
script: bundle exec middleman build
|
||||
@@ -1,5 +1,18 @@
|
||||
# Changelog
|
||||
|
||||
## Version 1.4.0
|
||||
|
||||
*November 24, 2016*
|
||||
|
||||
- Upgrade Middleman and Rouge gems, should hopefully solve a number of bugs
|
||||
- Update some links in README
|
||||
- Fix broken Vagrant startup script
|
||||
- Fix some problems with deploy.sh help message
|
||||
- Fix bug with language tabs not hiding properly if no error
|
||||
- Add `!default` to SASS variables
|
||||
- Fix bug with logo margin
|
||||
- Bump tested Ruby versions in .travis.yml
|
||||
|
||||
## Version 1.3.3
|
||||
|
||||
*June 11, 2016*
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
# Middleman
|
||||
gem 'middleman', '~>4.0.0'
|
||||
gem 'middleman-gh-pages', '~> 0.0.3'
|
||||
gem 'middleman-syntax', '~> 2.1.0'
|
||||
gem 'middleman', '~>4.1.0'
|
||||
gem 'middleman-syntax', '~> 3.0.0'
|
||||
gem 'middleman-autoprefixer', '~> 2.7.0'
|
||||
gem "middleman-sprockets", "~> 4.0.0.rc"
|
||||
gem 'rouge', '~> 1.10.1'
|
||||
gem "middleman-sprockets", "~> 4.0.0"
|
||||
gem 'rouge', '~> 2.0.5'
|
||||
gem 'redcarpet', '~> 3.3.2'
|
||||
+59
-71
@@ -1,134 +1,122 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (4.2.5.1)
|
||||
activesupport (4.2.7.1)
|
||||
i18n (~> 0.7)
|
||||
json (~> 1.7, >= 1.7.7)
|
||||
minitest (~> 5.1)
|
||||
thread_safe (~> 0.3, >= 0.3.4)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.4.0)
|
||||
autoprefixer-rails (6.3.1)
|
||||
autoprefixer-rails (6.4.1)
|
||||
execjs
|
||||
json
|
||||
backports (3.6.7)
|
||||
capybara (2.5.0)
|
||||
mime-types (>= 1.16)
|
||||
nokogiri (>= 1.3.3)
|
||||
rack (>= 1.0.0)
|
||||
rack-test (>= 0.5.4)
|
||||
xpath (~> 2.0)
|
||||
backports (3.6.8)
|
||||
coffee-script (2.4.1)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.10.0)
|
||||
compass-import-once (1.0.5)
|
||||
sass (>= 3.2, < 3.5)
|
||||
concurrent-ruby (0.9.2)
|
||||
contracts (0.12.0)
|
||||
concurrent-ruby (1.0.2)
|
||||
contracts (0.13.0)
|
||||
dotenv (2.1.1)
|
||||
erubis (2.7.0)
|
||||
execjs (2.6.0)
|
||||
fastimage (1.8.1)
|
||||
addressable (~> 2.3, >= 2.3.5)
|
||||
ffi (1.9.10)
|
||||
execjs (2.7.0)
|
||||
fast_blank (1.0.0)
|
||||
fastimage (2.0.0)
|
||||
addressable (~> 2)
|
||||
ffi (1.9.14)
|
||||
haml (4.0.7)
|
||||
tilt
|
||||
hamster (2.0.0)
|
||||
concurrent-ruby (~> 0.8)
|
||||
hashie (3.4.3)
|
||||
hamster (3.0.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
hashie (3.4.4)
|
||||
i18n (0.7.0)
|
||||
json (1.8.3)
|
||||
kramdown (1.9.0)
|
||||
listen (3.0.5)
|
||||
rb-fsevent (>= 0.9.3)
|
||||
rb-inotify (>= 0.9)
|
||||
middleman (4.0.0)
|
||||
kramdown (1.12.0)
|
||||
listen (3.0.8)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
memoist (0.15.0)
|
||||
middleman (4.1.10)
|
||||
coffee-script (~> 2.2)
|
||||
compass-import-once (= 1.0.5)
|
||||
haml (>= 4.0.5)
|
||||
kramdown (~> 1.2)
|
||||
middleman-cli (= 4.0.0)
|
||||
middleman-core (= 4.0.0)
|
||||
middleman-cli (= 4.1.10)
|
||||
middleman-core (= 4.1.10)
|
||||
sass (>= 3.4.0, < 4.0)
|
||||
middleman-autoprefixer (2.7.0)
|
||||
autoprefixer-rails (>= 6.3.1, < 7.0.0)
|
||||
middleman-core (>= 3.3.3)
|
||||
middleman-cli (4.0.0)
|
||||
middleman-cli (4.1.10)
|
||||
thor (>= 0.17.0, < 2.0)
|
||||
middleman-core (4.0.0)
|
||||
middleman-core (4.1.10)
|
||||
activesupport (~> 4.2)
|
||||
addressable (~> 2.4.0)
|
||||
addressable (~> 2.3)
|
||||
backports (~> 3.6)
|
||||
bundler (~> 1.1)
|
||||
capybara (~> 2.5.0)
|
||||
contracts (~> 0.12.0)
|
||||
contracts (~> 0.13.0)
|
||||
dotenv
|
||||
erubis
|
||||
execjs (~> 2.0)
|
||||
fastimage (~> 1.8)
|
||||
hamster (~> 2.0)
|
||||
fast_blank
|
||||
fastimage (~> 2.0)
|
||||
hamster (~> 3.0)
|
||||
hashie (~> 3.4)
|
||||
i18n (~> 0.7.0)
|
||||
listen (~> 3.0)
|
||||
listen (~> 3.0.0)
|
||||
memoist (~> 0.14)
|
||||
padrino-helpers (~> 0.13.0)
|
||||
parallel
|
||||
rack (>= 1.4.5, < 2.0)
|
||||
sass (>= 3.4)
|
||||
servolux
|
||||
tilt (~> 1.4.1)
|
||||
uglifier (~> 2.6)
|
||||
middleman-gh-pages (0.0.3)
|
||||
rake (> 0.9.3)
|
||||
middleman-sprockets (4.0.0.rc.1)
|
||||
middleman-core (>= 4.0.0.rc.1)
|
||||
sprockets (~> 3.0)
|
||||
middleman-syntax (2.1.0)
|
||||
uglifier (~> 3.0)
|
||||
middleman-sprockets (4.0.0)
|
||||
middleman-core (~> 4.0)
|
||||
sprockets (>= 3.0)
|
||||
middleman-syntax (3.0.0)
|
||||
middleman-core (>= 3.2)
|
||||
rouge (~> 1.0)
|
||||
mime-types (3.0)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2015.1120)
|
||||
mini_portile2 (2.0.0)
|
||||
minitest (5.8.4)
|
||||
nokogiri (1.6.7.2)
|
||||
mini_portile2 (~> 2.0.0.rc2)
|
||||
padrino-helpers (0.13.1)
|
||||
rouge (~> 2.0)
|
||||
minitest (5.9.0)
|
||||
padrino-helpers (0.13.3.1)
|
||||
i18n (~> 0.6, >= 0.6.7)
|
||||
padrino-support (= 0.13.1)
|
||||
tilt (~> 1.4.1)
|
||||
padrino-support (0.13.1)
|
||||
padrino-support (= 0.13.3.1)
|
||||
tilt (>= 1.4.1, < 3)
|
||||
padrino-support (0.13.3.1)
|
||||
activesupport (>= 3.1)
|
||||
parallel (1.9.0)
|
||||
rack (1.6.4)
|
||||
rack-test (0.6.3)
|
||||
rack (>= 1.0)
|
||||
rake (10.4.2)
|
||||
rb-fsevent (0.9.7)
|
||||
rb-inotify (0.9.5)
|
||||
rb-inotify (0.9.7)
|
||||
ffi (>= 0.5.0)
|
||||
redcarpet (3.3.4)
|
||||
rouge (1.10.1)
|
||||
sass (3.4.21)
|
||||
sprockets (3.4.1)
|
||||
rouge (2.0.5)
|
||||
sass (3.4.22)
|
||||
servolux (0.12.0)
|
||||
sprockets (3.7.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
thor (0.19.1)
|
||||
thread_safe (0.3.5)
|
||||
tilt (1.4.1)
|
||||
tzinfo (1.2.2)
|
||||
thread_safe (~> 0.1)
|
||||
uglifier (2.7.2)
|
||||
execjs (>= 0.3.0)
|
||||
json (>= 1.8.0)
|
||||
xpath (2.0.0)
|
||||
nokogiri (~> 1.3)
|
||||
uglifier (3.0.2)
|
||||
execjs (>= 0.3.0, < 3)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
middleman (~> 4.0.0)
|
||||
middleman (~> 4.1.0)
|
||||
middleman-autoprefixer (~> 2.7.0)
|
||||
middleman-gh-pages (~> 0.0.3)
|
||||
middleman-sprockets (~> 4.0.0.rc)
|
||||
middleman-syntax (~> 2.1.0)
|
||||
middleman-sprockets (~> 4.0.0)
|
||||
middleman-syntax (~> 3.0.0)
|
||||
redcarpet (~> 3.3.2)
|
||||
rouge (~> 1.10.1)
|
||||
rouge (~> 2.0.5)
|
||||
|
||||
BUNDLED WITH
|
||||
1.10.6
|
||||
1.12.5
|
||||
@@ -21,7 +21,7 @@ Features
|
||||
|
||||
* **Write code samples in multiple languages** — If your API has bindings in multiple programming languages, you can easily put in tabs to switch between them. In your document, you'll distinguish different languages by specifying the language name at the top of each code block, just like with Github Flavored Markdown.
|
||||
|
||||
* **Out-of-the-box syntax highlighting** for [almost 100 languages](http://rouge.jneen.net/), no configuration required.
|
||||
* **Out-of-the-box syntax highlighting** for [over 100 languages](https://github.com/jneen/rouge/wiki/List-of-supported-languages-and-lexers), no configuration required.
|
||||
|
||||
* **Automatic, smoothly scrolling table of contents** on the far left of the page. As you scroll, it displays your current position in the document. It's fast, too. We're using Slate at TripIt to build documentation for our new API, where our table of contents has over 180 entries. We've made sure that the performance remains excellent, even for larger documents.
|
||||
|
||||
@@ -37,7 +37,7 @@ Getting Started with Slate
|
||||
You're going to need:
|
||||
|
||||
- **Linux or OS X** — Windows may work, but is unsupported.
|
||||
- **Ruby, version 2.0 or newer**
|
||||
- **Ruby, version 2.2.5 or newer**
|
||||
- **Bundler** — If Ruby is already installed, but the `bundle` command doesn't work, just run `gem install bundler` in a terminal.
|
||||
|
||||
### Getting Set Up
|
||||
@@ -58,7 +58,7 @@ vagrant up
|
||||
|
||||
You can now see the docs at http://localhost:4567. Whoa! That was fast!
|
||||
|
||||
Now that Slate is all set up your machine, you'll probably want to learn more about [editing Slate markdown](https://github.com/lord/slate/wiki/Markdown-Syntax), or [how to publish your docs](https://github.com/lord/slate/wiki/Deploying-Slate).
|
||||
Now that Slate is all set up on your machine, you'll probably want to learn more about [editing Slate markdown](https://github.com/lord/slate/wiki/Markdown-Syntax), or [how to publish your docs](https://github.com/lord/slate/wiki/Deploying-Slate).
|
||||
|
||||
If you'd prefer to use Docker, instructions are available [in the wiki](https://github.com/lord/slate/wiki/Docker).
|
||||
|
||||
@@ -66,9 +66,13 @@ Companies Using Slate
|
||||
---------------------------------
|
||||
|
||||
* [NASA](https://api.nasa.gov)
|
||||
* [IBM Cloudant](https://docs.cloudant.com/api.html)
|
||||
* [Travis-CI](https://docs.travis-ci.com/api/)
|
||||
* [IBM](https://docs.cloudant.com/api.html)
|
||||
* [Sony](http://developers.cimediacloud.com)
|
||||
* [Mozilla](http://mozilla.github.io/localForage/)
|
||||
* [Best Buy](https://bestbuyapis.github.io/api-documentation/)
|
||||
* [Travis-CI](https://docs.travis-ci.com/api/)
|
||||
* [Greenhouse](https://developers.greenhouse.io/harvest.html)
|
||||
* [Woocommerce](http://woothemes.github.io/woocommerce-rest-api-docs/)
|
||||
* [Appium](http://appium.io/slate/en/master)
|
||||
* [Dwolla](https://docs.dwolla.com/)
|
||||
* [Clearbit](https://clearbit.com/docs)
|
||||
|
||||
Vendored
+1
-1
@@ -34,6 +34,6 @@ Vagrant.configure(2) do |config|
|
||||
echo "Starting up middleman at http://localhost:4567"
|
||||
echo "If it does not come up, check the ~/middleman.log file for any error messages"
|
||||
cd /vagrant
|
||||
bundle exec middleman server --force-polling -l 1 &> ~/middleman.log &
|
||||
bundle exec middleman server --watcher-force-polling --watcher_latency=1 &> ~/middleman.log &
|
||||
SHELL
|
||||
end
|
||||
@@ -18,6 +18,8 @@ set :fonts_dir, 'fonts'
|
||||
# Activate the syntax highlighter
|
||||
activate :syntax
|
||||
|
||||
activate :sprockets
|
||||
|
||||
activate :autoprefixer do |config|
|
||||
config.browsers = ['last 2 version', 'Firefox ESR']
|
||||
config.cascade = false
|
||||
|
||||
@@ -15,20 +15,7 @@ Options:
|
||||
deploy branch.
|
||||
-n, --no-hash Don't append the source commit's hash to the deploy
|
||||
commit's message.
|
||||
-c, --config-file PATH Override default & environment variables' values
|
||||
with those in set in the file at 'PATH'. Must be the
|
||||
first option specified.
|
||||
|
||||
Variables:
|
||||
|
||||
GIT_DEPLOY_DIR Folder path containing the files to deploy.
|
||||
GIT_DEPLOY_BRANCH Commit deployable files to this branch.
|
||||
GIT_DEPLOY_REPO Push the deploy branch to this repository.
|
||||
|
||||
These variables have default values defined in the script. The defaults can be
|
||||
overridden by environment variables. Any environment variables are overridden
|
||||
by values set in a '.env' file (if it exists), and in turn by those set in a
|
||||
file specified by the '--config-file' option."
|
||||
"
|
||||
|
||||
bundle exec middleman build --clean
|
||||
|
||||
@@ -38,12 +25,6 @@ parse_args() {
|
||||
source .env
|
||||
fi
|
||||
|
||||
# Set args from file specified on the command-line.
|
||||
if [[ $1 = "-c" || $1 = "--config-file" ]]; then
|
||||
source "$2"
|
||||
shift 2
|
||||
fi
|
||||
|
||||
# Parse arg flags
|
||||
# If something is exposed as an environment variable, set/overwrite it
|
||||
# here. Otherwise, set/overwrite the internal variable instead.
|
||||
@@ -98,24 +79,24 @@ main() {
|
||||
|
||||
commit_title=`git log -n 1 --format="%s" HEAD`
|
||||
commit_hash=` git log -n 1 --format="%H" HEAD`
|
||||
|
||||
|
||||
#default commit message uses last title if a custom one is not supplied
|
||||
if [[ -z $commit_message ]]; then
|
||||
commit_message="publish: $commit_title"
|
||||
fi
|
||||
|
||||
|
||||
#append hash to commit message unless no hash flag was found
|
||||
if [ $append_hash = true ]; then
|
||||
commit_message="$commit_message"$'\n\n'"generated from commit $commit_hash"
|
||||
fi
|
||||
|
||||
|
||||
previous_branch=`git rev-parse --abbrev-ref HEAD`
|
||||
|
||||
if [ ! -d "$deploy_directory" ]; then
|
||||
echo "Deploy directory '$deploy_directory' does not exist. Aborting." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
# must use short form of flag in ls for compatibility with OS X and BSD
|
||||
if [[ -z `ls -A "$deploy_directory" 2> /dev/null` && -z $allow_empty ]]; then
|
||||
echo "Deploy directory '$deploy_directory' is empty. Aborting. If you're sure you want to deploy an empty tree, use the --allow-empty / -e flag." >&2
|
||||
@@ -124,7 +105,7 @@ main() {
|
||||
|
||||
if git ls-remote --exit-code $repo "refs/heads/$deploy_branch" ; then
|
||||
# deploy_branch exists in $repo; make sure we have the latest version
|
||||
|
||||
|
||||
disable_expanded_output
|
||||
git fetch --force $repo $deploy_branch:$deploy_branch
|
||||
enable_expanded_output
|
||||
@@ -207,7 +188,7 @@ restore_head() {
|
||||
else
|
||||
git symbolic-ref HEAD refs/heads/$previous_branch
|
||||
fi
|
||||
|
||||
|
||||
git reset --mixed
|
||||
}
|
||||
|
||||
@@ -219,4 +200,4 @@ sanitize() {
|
||||
"$@" 2> >(filter 1>&2) | filter
|
||||
}
|
||||
|
||||
[[ $1 = --source-only ]] || main "$@"
|
||||
[[ $1 = --source-only ]] || main "$@"
|
||||
@@ -22,3 +22,7 @@ Add | | | | X
|
||||
Remove | | | | X
|
||||
Close | | | | X
|
||||
|
||||
# Timely Client
|
||||
|
||||
Java Timely client library was started in 0.0.4, it is not complete, but what is done does work. The client library includes classes for communicating over all the protocols (UDP, TCP, HTTPS, WSS).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Standalone Quick Start
|
||||
|
||||
1. Install latest version of Grafana (3.0.4 at time of writing)
|
||||
1. Install latest version of Grafana that works with Timely
|
||||
2. Create a grafana configuration file (e.g: `conf/settings.ini`)
|
||||
1. `protocol = https`
|
||||
2. `http_addr = localhost`
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# Release Notes
|
||||
|
||||
## 0.0.4
|
||||
|
||||
### FEATURES
|
||||
|
||||
- Added a Timely client library that contains Java code for interacting with the Timely API. Not all operations are finished.
|
||||
- Added an analytics module for writing Apache Flink jobs
|
||||
- Exposed Subscription Scanner configuration settings in the Timely configuration
|
||||
|
||||
### PERFORMANCE
|
||||
|
||||
- AgeOff performance is greatly improved with a new iterator
|
||||
- Added netty-transport-native-epoll as an optional runtime dependency
|
||||
|
||||
### NOTES
|
||||
|
||||
- Timely has not been tested with Grafana 4.x
|
||||
- The aggregation function (not the downsample aggregration function) in Grafana did not work prior to this release, it now works.
|
||||
|
||||
## 0.0.3
|
||||
|
||||
### FEATURES
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Securing the Transport
|
||||
|
||||
Timely only exposes two operations over a non-secure transport, one to the version of the server and the other to insert data. All other operations are protected by either HTTPS or WSS protocols. The server [configuration] (#configuration) allows the user to change many of the security settings such as: CORS origins, specific SSL/TLS ciphers, duration of the HTTP session cookie, and more.
|
||||
Timely only exposes two operations over a non-secure transport, one to get the version of the server and the other to insert data. All other operations are protected by either HTTPS or WSS protocols. The server [configuration] (#configuration) allows the user to change many of the security settings such as: CORS origins, specific SSL/TLS ciphers, duration of the HTTP session cookie, and more.
|
||||
|
||||
### HTTP Strict Transport Security
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ To deploy Timely with a running Accumulo instance you will need to modify the `c
|
||||
|
||||
## SSL Setup
|
||||
|
||||
To user Timely, both Timely and Grafana will need to use SSL certificates. Grafana requires a PEM encoded certificate file and an un-encrypted PEM private key file. Timely requires a PEM encoded certificate file and a PKCS#8 encoded private key file. Timely supports private keys with and without a password, just comment out the `timely.security.ssl.key-password` property if there is no password for your private key.
|
||||
To user Timely, both Timely and Grafana will need to use SSL certificates. Grafana requires a PEM encoded certificate file and an un-encrypted PEM private key file. Timely requires a PEM encoded certificate file and a PKCS#8 encoded private key file. Timely supports private keys with and without a password, just comment out the `timely.security.ssl.key-password` property if there is no password for your private key. In a successful setup, you should only need to add the Timely Certificate Authority to your web browser.
|
||||
|
||||
### Creating your own SSL keys and certificates
|
||||
|
||||
@@ -37,7 +37,7 @@ Create a private key
|
||||
|
||||
Create a certificate request using the private key
|
||||
|
||||
`openssl req -x509 -new -key CA.key -sha256 -nodes -days 365 -out CA.pem`
|
||||
`openssl req -x509 -new -key CA.key -sha256 -subj '/C=US/ST=Confusion/L=Here/O=Timely/OU=CA/CN=localhost/emailAddress=noreply@localhost/subjectAltName=DNS.1=127.0.0.1' -nodes -days 365 -out CA.pem`
|
||||
|
||||
#### Create your SSL material for Grafana
|
||||
|
||||
@@ -47,7 +47,7 @@ Create the private key for the Grafana server
|
||||
|
||||
Generate a certificate signing request (CSR) with our Grafana private key
|
||||
|
||||
`openssl req -new -key grafana.key -sha256 -nodes -out grafana.csr`
|
||||
`openssl req -new -key grafana.key -sha256 -subj '/C=US/ST=Confusion/L=Here/O=Grafana/OU=Server/CN=localhost/emailAddress=noreply@localhost/subjectAltName=DNS.1=127.0.0.1' -nodes -out grafana.csr`
|
||||
|
||||
Use the CSR and the CA to create a certificate for the server (a reply to the CSR)
|
||||
|
||||
@@ -130,6 +130,10 @@ timely.websocket.ip | The IP address where the Timely server is listening for we
|
||||
timely.websocket.port | The port that will be used for processing web socket requests |
|
||||
timely.websocket.timeout | Number of seconds with no client ping response before closing subscription | 60
|
||||
timely.websocket.subscription-lag | Number of seconds that subscriptions should lag to account for latency | 120
|
||||
timely.websocket.scanner-batch-size | Accumulo Scanner batch size | 5000
|
||||
timely.websocket.flush-interval-seconds | Time in seconds that Timely will send a batch of subscription responses to the client | 30
|
||||
timely.websocket.scanner-read-ahead | Accumulo Scanner Readahead threshold | 1
|
||||
timely.websocket.subscription-batch-size | Maximum number of metric responses in a batch sent back to the client | 1000
|
||||
timely.meta-cache.expiration-minutes | Number of minutes after which unaccessed meta information will be purged from the meta cache | 60
|
||||
timely.meta-cache.initial-capacity | Initial capacity of the meta cache | 2000
|
||||
timely.meta-cache.max-capacity | Maximum capacity of the meta cache | 10000
|
||||
|
||||
@@ -7,26 +7,27 @@ The subscription API allows the user to subscribe to metrics data using WebSocke
|
||||
```json
|
||||
{
|
||||
"metric" : "sys.cpu.user",
|
||||
"timestamp":1469028728091,
|
||||
"value":1.0,
|
||||
"timestamp": 1469028728091,
|
||||
"value": 1.0,
|
||||
"tags":
|
||||
[
|
||||
{
|
||||
"key":"rack",
|
||||
"value":"r1"
|
||||
"key": "rack",
|
||||
"value": "r1"
|
||||
},{
|
||||
"key":"tag3",
|
||||
"value":"value3"
|
||||
"key": "tag3",
|
||||
"value": "value3"
|
||||
},{
|
||||
"key":"tag4",
|
||||
"value":"value4"
|
||||
"key": "tag4",
|
||||
"value": "value4"
|
||||
}
|
||||
],
|
||||
"subscriptionId":"<unique id>"
|
||||
"subscriptionId": "<unique id>",
|
||||
"complete": false
|
||||
}
|
||||
```
|
||||
|
||||
The Metric response contains the metric name, tag set, value for the metric, and the timestamp.
|
||||
The Metric response contains the metric name, tag set, value for the metric, and the timestamp. Unlike the timeseries api, the subscription responses will include the `viz` tag if it exists on the data.
|
||||
|
||||
## Create Operation
|
||||
|
||||
@@ -49,17 +50,19 @@ Initialize this WebSocket connection for subscription requests. This method does
|
||||
"metric" : "sys.cpu.user",
|
||||
"tags" : null,
|
||||
"startTime" : null,
|
||||
"endTime" : null,
|
||||
"delayTime" : 1000
|
||||
}
|
||||
```
|
||||
|
||||
Subscribe to metrics that match the metric name and optional tag set. Only one subscription per `metric` is supported. The Timely server will return [Metric] (#metric-response) responses over the WebSocket channel that match the `metric` and `tags` in the request. The Timely server will return metrics that are older than the `startTime`, which can be zero to return all currently stored data. When all data has been returned, the Timely server will wait `delayTime` ms before looking for new data. The Timely server maintains a pointer to the last metric returned, so it will not return data that is newly inserted but older than the last returned metric. Use the `timely.websocket.subscription-lag` server configuration property to determine how close to current time the subscriptions will be. This will depend on your deployment. For example, if the `timely.accumulo.write.latency` configuration property is 30s, then you may want to set the lag to greater than 30s to ensure that all data has arrived.
|
||||
Subscribe to metrics that match the metric name and optional tag set. Only one subscription per `metric` is supported. The Timely server will return [Metric] (#metric-response) responses over the WebSocket channel that match the `metric` and `tags` in the request. The Timely server will return metrics that are older than the `startTime`, which can be zero to return all currently stored data. When all data has been returned, the Timely server will either send a completed message, or wait `delayTime` ms before looking for new data, depending on the value of endTime. If endTime has been specified, then the Timely server will send a final message with `complete` set to true. Otherwise, the Timely server maintains a pointer to the last metric returned, so it will not return data that is newly inserted but older than the last returned metric. Use the `timely.websocket.subscription-lag` server configuration property to determine how close to current time the subscriptions will be. This will depend on your deployment. For example, if the `timely.accumulo.write.latency` configuration property is 30s, then you may want to set the lag to greater than 30s to ensure that all data has arrived.
|
||||
|
||||
Attribute | Type | Description
|
||||
----------|------|------------
|
||||
metric | string | metric name
|
||||
tags | map | (Optional) Map of K,V strings to use in the query.
|
||||
startTime | long | (Optional, default 0) Return metrics after this time (in ms)
|
||||
endTime | long | (Optional, default 0) If specified, stop returning data at this time (in ms)
|
||||
delayTime | long | Wait time to look for the arrival of new data.
|
||||
|
||||
## Remove Operation
|
||||
|
||||
@@ -43,7 +43,7 @@ under the License.
|
||||
</a>
|
||||
<div class="tocify-wrapper">
|
||||
<%= image_tag "logo.png" %>
|
||||
<% if language_tabs %>
|
||||
<% if language_tabs.any? %>
|
||||
<div class="lang-selector">
|
||||
<% language_tabs.each do |lang| %>
|
||||
<% if lang.is_a? Hash %>
|
||||
@@ -79,7 +79,7 @@ under the License.
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="dark-box">
|
||||
<% if language_tabs %>
|
||||
<% if language_tabs.any? %>
|
||||
<div class="lang-selector">
|
||||
<% language_tabs.each do |lang| %>
|
||||
<% if lang.is_a? Hash %>
|
||||
|
||||
@@ -23,48 +23,46 @@ under the License.
|
||||
|
||||
// BACKGROUND COLORS
|
||||
////////////////////
|
||||
$nav-bg: #393939;
|
||||
$examples-bg: #393939;
|
||||
$code-bg: #292929;
|
||||
$code-annotation-bg: #1c1c1c;
|
||||
$nav-subitem-bg: #262626;
|
||||
$nav-active-bg: #2467af;
|
||||
$lang-select-border: #000;
|
||||
$lang-select-bg: #222;
|
||||
$lang-select-active-bg: $examples-bg; // feel free to change this to blue or something
|
||||
$lang-select-pressed-bg: #111; // color of language tab bg when mouse is pressed
|
||||
$main-bg: #eaf2f6;
|
||||
$aside-notice-bg: #8fbcd4;
|
||||
$aside-warning-bg: #c97a7e;
|
||||
$aside-success-bg: #6ac174;
|
||||
$search-notice-bg: #c97a7e;
|
||||
$nav-bg: #393939 !default;
|
||||
$examples-bg: #393939 !default;
|
||||
$code-bg: #292929 !default;
|
||||
$code-annotation-bg: #1c1c1c !default;
|
||||
$nav-subitem-bg: #262626 !default;
|
||||
$nav-active-bg: #2467af !default;
|
||||
$lang-select-border: #000 !default;
|
||||
$lang-select-bg: #222 !default;
|
||||
$lang-select-active-bg: $examples-bg !default; // feel free to change this to blue or something
|
||||
$lang-select-pressed-bg: #111 !default; // color of language tab bg when mouse is pressed
|
||||
$main-bg: #eaf2f6 !default;
|
||||
$aside-notice-bg: #8fbcd4 !default;
|
||||
$aside-warning-bg: #c97a7e !default;
|
||||
$aside-success-bg: #6ac174 !default;
|
||||
$search-notice-bg: #c97a7e !default;
|
||||
|
||||
|
||||
// TEXT COLORS
|
||||
////////////////////
|
||||
$main-text: #111; // main content text color
|
||||
//$main-text: #333; // main content text color
|
||||
$nav-text: #fff;
|
||||
$nav-active-text: #fff;
|
||||
$lang-select-text: #fff; // color of unselected language tab text
|
||||
$lang-select-active-text: #fff; // color of selected language tab text
|
||||
$lang-select-pressed-text: #fff; // color of language tab text when mouse is pressed
|
||||
$main-text: #111 !default; // main content text color
|
||||
$nav-text: #fff !default;
|
||||
$nav-active-text: #fff !default;
|
||||
$lang-select-text: #fff !default; // color of unselected language tab text
|
||||
$lang-select-active-text: #fff !default; // color of selected language tab text
|
||||
$lang-select-pressed-text: #fff !default; // color of language tab text when mouse is pressed
|
||||
|
||||
|
||||
// SIZES
|
||||
////////////////////
|
||||
$nav-width: 230px; // width of the navbar
|
||||
$examples-width: 35%; // portion of the screen taken up by code examples
|
||||
//$examples-width: 50%; // portion of the screen taken up by code examples
|
||||
$logo-margin: 20px; // margin between nav items and logo, ignored if search is active
|
||||
$main-padding: 28px; // padding to left and right of content & examples
|
||||
$nav-padding: 15px; // padding to left and right of navbar
|
||||
$nav-v-padding: 10px; // padding used vertically around search boxes and results
|
||||
$nav-indent: 10px; // extra padding for ToC subitems
|
||||
$code-annotation-padding: 13px; // padding inside code annotations
|
||||
$h1-margin-bottom: 21px; // padding under the largest header tags
|
||||
$tablet-width: 930px; // min width before reverting to tablet size
|
||||
$phone-width: $tablet-width - $nav-width; // min width before reverting to mobile size
|
||||
$nav-width: 230px !default; // width of the navbar
|
||||
$examples-width: 35% !default; // portion of the screen taken up by code examples
|
||||
$logo-margin: 20px !default; // margin between nav items and logo, ignored if search is active
|
||||
$main-padding: 28px !default; // padding to left and right of content & examples
|
||||
$nav-padding: 15px !default; // padding to left and right of navbar
|
||||
$nav-v-padding: 10px !default; // padding used vertically around search boxes and results
|
||||
$nav-indent: 10px !default; // extra padding for ToC subitems
|
||||
$code-annotation-padding: 13px !default; // padding inside code annotations
|
||||
$h1-margin-bottom: 21px !default; // padding under the largest header tags
|
||||
$tablet-width: 930px !default; // min width before reverting to tablet size
|
||||
$phone-width: $tablet-width - $nav-width !default; // min width before reverting to mobile size
|
||||
|
||||
|
||||
// FONTS
|
||||
@@ -88,12 +86,12 @@ $phone-width: $tablet-width - $nav-width; // min width before reverting to mobil
|
||||
|
||||
// OTHER
|
||||
////////////////////
|
||||
$nav-active-shadow: #000;
|
||||
$nav-footer-border-color: #666;
|
||||
$nav-embossed-border-top: #000;
|
||||
$nav-embossed-border-bottom: #939393;
|
||||
$main-embossed-text-shadow: 0px 1px 0px #fff;
|
||||
$search-box-border-color: #666;
|
||||
$nav-active-shadow: #000 !default;
|
||||
$nav-footer-border-color: #666 !default;
|
||||
$nav-embossed-border-top: #000 !default;
|
||||
$nav-embossed-border-bottom: #939393 !default;
|
||||
$main-embossed-text-shadow: 0px 1px 0px #fff !default;
|
||||
$search-box-border-color: #666 !default;
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -110,7 +110,7 @@ html, body {
|
||||
}
|
||||
}
|
||||
|
||||
img+.tocify {
|
||||
img+.tocify, .lang-selector+.tocify {
|
||||
margin-top: $logo-margin;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user