diff --git a/plugins/inputs/solr/README.md b/plugins/inputs/solr/README.md index eb6639669..2fca2c8a4 100644 --- a/plugins/inputs/solr/README.md +++ b/plugins/inputs/solr/README.md @@ -27,13 +27,16 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details. [[inputs.solr]] ## specify a list of one or more Solr servers servers = ["http://localhost:8983"] - ## + ## specify a list of one or more Solr cores (default - all) # cores = ["main"] - ## + ## Optional HTTP Basic Auth Credentials # username = "username" # password = "pa$$word" + + ## Timeout for HTTP requests + # timeout = "5s" ``` ## Metrics diff --git a/plugins/inputs/solr/sample.conf b/plugins/inputs/solr/sample.conf index 30643f749..424934b79 100644 --- a/plugins/inputs/solr/sample.conf +++ b/plugins/inputs/solr/sample.conf @@ -2,10 +2,13 @@ [[inputs.solr]] ## specify a list of one or more Solr servers servers = ["http://localhost:8983"] - ## + ## specify a list of one or more Solr cores (default - all) # cores = ["main"] - ## + ## Optional HTTP Basic Auth Credentials # username = "username" # password = "pa$$word" + + ## Timeout for HTTP requests + # timeout = "5s" diff --git a/plugins/inputs/solr/solr.go b/plugins/inputs/solr/solr.go index b602d73c8..292a35a70 100644 --- a/plugins/inputs/solr/solr.go +++ b/plugins/inputs/solr/solr.go @@ -26,111 +26,27 @@ const adminCoresPath = "/solr/admin/cores?action=STATUS&wt=json" // Solr is a plugin to read stats from one or many Solr servers type Solr struct { - Local bool - Servers []string - Username string - Password string - HTTPTimeout config.Duration - Cores []string - client *http.Client -} + Servers []string `toml:"servers"` + Username string `toml:"username"` + Password string `toml:"password"` + HTTPTimeout config.Duration `toml:"timeout"` + Cores []string `toml:"cores"` -// AdminCoresStatus is an exported type that -// contains a response with information about Solr cores. -type AdminCoresStatus struct { - Status map[string]struct { - Index struct { - SizeInBytes int64 `json:"sizeInBytes"` - NumDocs int64 `json:"numDocs"` - MaxDoc int64 `json:"maxDoc"` - DeletedDocs int64 `json:"deletedDocs"` - } `json:"index"` - } `json:"status"` -} - -// MBeansData is an exported type that -// contains a response from Solr with metrics -type MBeansData struct { - Headers ResponseHeader `json:"responseHeader"` - SolrMbeans []json.RawMessage `json:"solr-mbeans"` -} - -// ResponseHeader is an exported type that -// contains a response metrics: QTime and Status -type ResponseHeader struct { - QTime int64 `json:"QTime"` - Status int64 `json:"status"` -} - -// Core is an exported type that -// contains Core metrics -type Core struct { - Stats struct { - DeletedDocs int64 `json:"deletedDocs"` - MaxDoc int64 `json:"maxDoc"` - NumDocs int64 `json:"numDocs"` - } `json:"stats"` -} - -// QueryHandler is an exported type that -// contains query handler metrics -type QueryHandler struct { - Stats interface{} `json:"stats"` -} - -// UpdateHandler is an exported type that -// contains update handler metrics -type UpdateHandler struct { - Stats struct { - Adds int64 `json:"adds"` - AutocommitMaxDocs int64 `json:"autocommit maxDocs"` - AutocommitMaxTime string `json:"autocommit maxTime"` - Autocommits int64 `json:"autocommits"` - Commits int64 `json:"commits"` - CumulativeAdds int64 `json:"cumulative_adds"` - CumulativeDeletesByID int64 `json:"cumulative_deletesById"` - CumulativeDeletesByQuery int64 `json:"cumulative_deletesByQuery"` - CumulativeErrors int64 `json:"cumulative_errors"` - DeletesByID int64 `json:"deletesById"` - DeletesByQuery int64 `json:"deletesByQuery"` - DocsPending int64 `json:"docsPending"` - Errors int64 `json:"errors"` - ExpungeDeletes int64 `json:"expungeDeletes"` - Optimizes int64 `json:"optimizes"` - Rollbacks int64 `json:"rollbacks"` - SoftAutocommits int64 `json:"soft autocommits"` - } `json:"stats"` -} - -// Hitratio is an helper interface -// so we can later on convert it to float64 -type Hitratio interface{} - -// Cache is an exported type that -// contains cache metrics -type Cache struct { - Stats map[string]interface{} `json:"stats"` -} - -// NewSolr return a new instance of Solr -func NewSolr() *Solr { - return &Solr{ - HTTPTimeout: config.Duration(time.Second * 5), - } + client *http.Client } func (*Solr) SampleConfig() string { return sampleConfig } +func (s *Solr) Init() error { + s.client = s.createHTTPClient() + return nil +} + // Gather reads the stats from Solr and writes it to the // Accumulator. func (s *Solr) Gather(acc telegraf.Accumulator) error { - if s.client == nil { - client := s.createHTTPClient() - s.client = client - } - var wg sync.WaitGroup wg.Add(len(s.Servers)) @@ -486,6 +402,8 @@ func (s *Solr) gatherData(url string, v interface{}) error { func init() { inputs.Add("solr", func() telegraf.Input { - return NewSolr() + return &Solr{ + HTTPTimeout: config.Duration(time.Second * 5), + } }) } diff --git a/plugins/inputs/solr/solr_test.go b/plugins/inputs/solr/solr_test.go index 0999da2b5..741d1f56d 100644 --- a/plugins/inputs/solr/solr_test.go +++ b/plugins/inputs/solr/solr_test.go @@ -2,197 +2,198 @@ package solr import ( "fmt" + "io/fs" "net/http" "net/http/httptest" "os" + "path/filepath" "strings" "testing" + "time" + "github.com/docker/go-connections/nat" + "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/require" + "github.com/testcontainers/testcontainers-go/wait" + "github.com/influxdata/telegraf/config" + "github.com/influxdata/telegraf/plugins/parsers/influx" "github.com/influxdata/telegraf/testutil" ) -func TestGatherStats(t *testing.T) { - ts := createMockServer(t) - solr := NewSolr() - solr.Servers = []string{ts.URL} - var acc testutil.Accumulator - require.NoError(t, solr.Gather(&acc)) +func TestCases(t *testing.T) { + // Get all directories in testcases + folders, err := os.ReadDir("testcases") + require.NoError(t, err) - acc.AssertContainsTaggedFields(t, "solr_admin", - solrAdminMainCoreStatusExpected, - map[string]string{"core": "main"}) + // Make sure tests contains data + require.NotEmpty(t, folders) - acc.AssertContainsTaggedFields(t, "solr_admin", - solrAdminCore1StatusExpected, - map[string]string{"core": "core1"}) + options := []cmp.Option{ + testutil.IgnoreTime(), + testutil.SortMetrics(), + } - acc.AssertContainsTaggedFields(t, "solr_core", - solrCoreExpected, - map[string]string{"core": "main", "handler": "searcher"}) - - acc.AssertContainsTaggedFields(t, "solr_queryhandler", - solrQueryHandlerExpected, - map[string]string{"core": "main", "handler": "org.apache.solr.handler.component.SearchHandler"}) - - acc.AssertContainsTaggedFields(t, "solr_updatehandler", - solrUpdateHandlerExpected, - map[string]string{"core": "main", "handler": "updateHandler"}) - - acc.AssertContainsTaggedFields(t, "solr_cache", - solrCacheExpected, - map[string]string{"core": "main", "handler": "filterCache"}) -} - -func TestSolr7MbeansStats(t *testing.T) { - ts := createMockSolr7Server(t) - solr := NewSolr() - solr.Servers = []string{ts.URL} - var acc testutil.Accumulator - require.NoError(t, solr.Gather(&acc)) - acc.AssertContainsTaggedFields(t, "solr_cache", - solr7CacheExpected, - map[string]string{"core": "main", "handler": "documentCache"}) -} - -func TestSolr3GatherStats(t *testing.T) { - ts := createMockSolr3Server(t) - solr := NewSolr() - solr.Servers = []string{ts.URL} - var acc testutil.Accumulator - require.NoError(t, solr.Gather(&acc)) - - acc.AssertContainsTaggedFields(t, "solr_admin", - solrAdminMainCoreStatusExpected, - map[string]string{"core": "main"}) - - acc.AssertContainsTaggedFields(t, "solr_admin", - solrAdminCore1StatusExpected, - map[string]string{"core": "core1"}) - - acc.AssertContainsTaggedFields(t, "solr_core", - solr3CoreExpected, - map[string]string{"core": "main", "handler": "searcher"}) - - acc.AssertContainsTaggedFields(t, "solr_queryhandler", - solr3QueryHandlerExpected, - map[string]string{"core": "main", "handler": "org.apache.solr.handler.component.SearchHandler"}) - - acc.AssertContainsTaggedFields(t, "solr_updatehandler", - solr3UpdateHandlerExpected, - map[string]string{"core": "main", "handler": "updateHandler"}) - - acc.AssertContainsTaggedFields(t, "solr_cache", - solr3CacheExpected, - map[string]string{"core": "main", "handler": "filterCache"}) -} -func TestNoCoreDataHandling(t *testing.T) { - ts := createMockNoCoreDataServer(t) - solr := NewSolr() - solr.Servers = []string{ts.URL} - var acc testutil.Accumulator - require.NoError(t, solr.Gather(&acc)) - - acc.AssertContainsTaggedFields(t, "solr_admin", - solrAdminMainCoreStatusExpected, - map[string]string{"core": "main"}) - - acc.AssertContainsTaggedFields(t, "solr_admin", - solrAdminCore1StatusExpected, - map[string]string{"core": "core1"}) - - acc.AssertDoesNotContainMeasurement(t, "solr_core") - acc.AssertDoesNotContainMeasurement(t, "solr_queryhandler") - acc.AssertDoesNotContainMeasurement(t, "solr_updatehandler") - acc.AssertDoesNotContainMeasurement(t, "solr_handler") -} - -func createMockServer(t *testing.T) *httptest.Server { - statusResponse := readJSONAsString(t, "testdata/status_response.json") - mBeansMainResponse := readJSONAsString(t, "testdata/m_beans_main_response.json") - mBeansCore1Response := readJSONAsString(t, "testdata/m_beans_core1_response.json") - - return httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if strings.Contains(r.URL.Path, "/solr/admin/cores") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, statusResponse) - } else if strings.Contains(r.URL.Path, "solr/main/admin") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, mBeansMainResponse) - } else if strings.Contains(r.URL.Path, "solr/core1/admin") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, mBeansCore1Response) - } else { - w.WriteHeader(http.StatusNotFound) - fmt.Fprintln(w, "nope") + for _, f := range folders { + // Only handle folders + if !f.IsDir() { + continue } - })) + + fname := f.Name() + t.Run(fname, func(t *testing.T) { + testdataPath := filepath.Join("testcases", fname) + configFilename := filepath.Join(testdataPath, "telegraf.conf") + expectedFilename := filepath.Join(testdataPath, "expected.out") + + // Load the expected output + parser := &influx.Parser{} + require.NoError(t, parser.Init()) + expected, err := testutil.ParseMetricsFromFile(expectedFilename, parser) + require.NoError(t, err) + + // Load the pages for the test case + pages, err := loadPages(testdataPath) + require.NoError(t, err) + + // Create a HTTP server that delivers all files in the test-directory + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if !strings.HasPrefix(r.URL.Path, "/solr/") { + w.WriteHeader(http.StatusNotFound) + return + } + path := strings.TrimPrefix(r.URL.Path, "/solr/") + page, found := pages[path] + if !found { + w.WriteHeader(http.StatusNotFound) + return + } + _, _ = w.Write(page) + })) + require.NotNil(t, server) + defer server.Close() + + // Configure the plugin + cfg := config.NewConfig() + require.NoError(t, cfg.LoadConfig(configFilename)) + require.Len(t, cfg.Inputs, 1) + + // Setup the plugin + plugin := cfg.Inputs[0].Input.(*Solr) + plugin.Servers = []string{server.URL} + require.NoError(t, plugin.Init()) + + // Gather data and compare results + var acc testutil.Accumulator + require.NoError(t, plugin.Gather(&acc)) + + actual := acc.GetTelegrafMetrics() + testutil.RequireMetricsEqual(t, expected, actual, options...) + }) + } } -func createMockNoCoreDataServer(t *testing.T) *httptest.Server { - var nodata string - statusResponse := readJSONAsString(t, "testdata/status_response.json") +func TestIntegration(t *testing.T) { + if testing.Short() { + t.Skip("Skipping integration test in short mode") + } - return httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if strings.Contains(r.URL.Path, "/solr/admin/cores") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, statusResponse) - } else if strings.Contains(r.URL.Path, "solr/main/admin") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, nodata) - } else if strings.Contains(r.URL.Path, "solr/core1/admin") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, nodata) - } else { - w.WriteHeader(http.StatusNotFound) - fmt.Fprintln(w, "nope") + // Get all integration test files in testcases + resultFiles, err := filepath.Glob(filepath.Join("testcases", "*.result")) + require.NoError(t, err) + + // Make sure tests contains data + require.NotEmpty(t, resultFiles) + + options := []cmp.Option{ + testutil.IgnoreTime(), + testutil.SortMetrics(), + } + + const servicePort = "8983" + + for _, f := range resultFiles { + fname := strings.TrimSuffix(filepath.Base(f), ".result") + t.Run(fname, func(t *testing.T) { + expectedFilename := filepath.Join("testcases", fname+".result") + + // Load the expected output + parser := &influx.Parser{} + require.NoError(t, parser.Init()) + expected, err := testutil.ParseMetricsFromFile(expectedFilename, parser) + require.NoError(t, err) + + // Determine container version for the integration test + // The version number is the last element in the filename separated + // by a dash and prefixed with a 'v'. + image := "solr" + parts := strings.Split(fname, "-") + if len(parts) > 1 { + version := parts[len(parts)-1] + require.True(t, strings.HasPrefix(version, "v")) + image += ":" + strings.TrimPrefix(version, "v") + } + + // Start the container + container := testutil.Container{ + Image: image, + ExposedPorts: []string{servicePort}, + Cmd: []string{"solr-precreate", "main"}, + WaitingFor: wait.ForAll( + wait.ForListeningPort(nat.Port(servicePort)), + wait.ForLog("o.a.s.c.SolrCore [main] Registered new searcher"), + ), + } + require.NoError(t, container.Start(), "failed to start container") + defer container.Terminate() + + server := []string{fmt.Sprintf("http://%s:%s", container.Address, container.Ports[servicePort])} + + // Setup the plugin + plugin := &Solr{ + Servers: server, + HTTPTimeout: config.Duration(5 * time.Second), + } + require.NoError(t, plugin.Init()) + + // Gather data and compare results + var acc testutil.Accumulator + require.NoError(t, plugin.Gather(&acc)) + + actual := acc.GetTelegrafMetrics() + testutil.RequireMetricsStructureEqual(t, expected, actual, options...) + }) + } +} + +func loadPages(path string) (map[string][]byte, error) { + abspath, err := filepath.Abs(path) + if err != nil { + return nil, err + } + + responses := make(map[string][]byte) + err = filepath.Walk(abspath, func(path string, info fs.FileInfo, err error) error { + if err != nil { + return err } - })) -} - -func createMockSolr3Server(t *testing.T) *httptest.Server { - data := readJSONAsString(t, "testdata/m_beans_solr3_main_response.json") - statusResponse := readJSONAsString(t, "testdata/status_response.json") - - return httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if strings.Contains(r.URL.Path, "/solr/admin/cores") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, statusResponse) - } else if strings.Contains(r.URL.Path, "solr/main/admin") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, data) - } else if strings.Contains(r.URL.Path, "solr/core1/admin") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, data) - } else { - w.WriteHeader(http.StatusNotFound) - fmt.Fprintln(w, "nope") + if info.IsDir() || !strings.HasSuffix(path, ".json") { + // Ignore directories and files not matching the expectations + return nil } - })) -} - -func createMockSolr7Server(t *testing.T) *httptest.Server { - statusResponse := readJSONAsString(t, "testdata/status_response.json") - mBeansSolr7Response := readJSONAsString(t, "testdata/m_beans_solr7_response.json") - - return httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if strings.Contains(r.URL.Path, "/solr/admin/cores") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, statusResponse) - } else if strings.Contains(r.URL.Path, "solr/main/admin") { - w.WriteHeader(http.StatusOK) - fmt.Fprintln(w, mBeansSolr7Response) - } else { - w.WriteHeader(http.StatusNotFound) - fmt.Fprintln(w, "nope") + relpath, err := filepath.Rel(abspath, path) + if err != nil { + return err } - })) -} + relpath = strings.TrimSuffix(relpath, ".json") + data, err := os.ReadFile(path) + if err != nil { + return err + } + responses[filepath.ToSlash(relpath)] = data -func readJSONAsString(t *testing.T, jsonFilePath string) string { - data, err := os.ReadFile(jsonFilePath) - require.NoErrorf(t, err, "could not read from JSON file %s", jsonFilePath) + return nil + }) - return string(data) + return responses, err } diff --git a/plugins/inputs/solr/testcases/integration-v6.6.result b/plugins/inputs/solr/testcases/integration-v6.6.result new file mode 100644 index 000000000..164f2cb4f --- /dev/null +++ b/plugins/inputs/solr/testcases/integration-v6.6.result @@ -0,0 +1,29 @@ +solr_admin,core=main deleted_docs=0i,max_docs=0i,num_docs=0i,size_in_bytes=71i +solr_core,core=main,handler=searcher deleted_docs=0i,max_docs=0i,num_docs=0i +solr_core,core=main,handler=core deleted_docs=0i,max_docs=0i,num_docs=0i +solr_queryhandler,core=main,handler=/stream 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1690552637993i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/debug/dump 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1690552637995i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/graph 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1690552637991i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/select 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1690552637996i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/export 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1690552637989i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/query 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1690552637997i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/browse 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1690552637997i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/sql 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1690552637994i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/get 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1690552637973i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_updatehandler,core=main,handler=/graph adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=facet_module adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=/export adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=tvComponent adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=/sql adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=get adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=query adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=/select adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=mlt adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=terms adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=/query adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=/stream adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=/debug/dump adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=facet adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=/browse adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=expand adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=/get adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i diff --git a/plugins/inputs/solr/testdata/status_response.json b/plugins/inputs/solr/testcases/no_core_data/admin/cores.json similarity index 100% rename from plugins/inputs/solr/testdata/status_response.json rename to plugins/inputs/solr/testcases/no_core_data/admin/cores.json diff --git a/plugins/inputs/solr/testcases/no_core_data/core1/admin/mbeans.json b/plugins/inputs/solr/testcases/no_core_data/core1/admin/mbeans.json new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/plugins/inputs/solr/testcases/no_core_data/core1/admin/mbeans.json @@ -0,0 +1 @@ + diff --git a/plugins/inputs/solr/testcases/no_core_data/expected.out b/plugins/inputs/solr/testcases/no_core_data/expected.out new file mode 100644 index 000000000..0b9f49538 --- /dev/null +++ b/plugins/inputs/solr/testcases/no_core_data/expected.out @@ -0,0 +1,2 @@ +solr_admin,core=core1 deleted_docs=102815i,max_docs=7620303i,num_docs=7517488i,size_in_bytes=1784635686i +solr_admin,core=main deleted_docs=619275i,max_docs=169562700i,num_docs=168943425i,size_in_bytes=247497521642i \ No newline at end of file diff --git a/plugins/inputs/solr/testcases/no_core_data/main/admin/mbeans.json b/plugins/inputs/solr/testcases/no_core_data/main/admin/mbeans.json new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/plugins/inputs/solr/testcases/no_core_data/main/admin/mbeans.json @@ -0,0 +1 @@ + diff --git a/plugins/inputs/solr/testcases/no_core_data/telegraf.conf b/plugins/inputs/solr/testcases/no_core_data/telegraf.conf new file mode 100644 index 000000000..95bda0aea --- /dev/null +++ b/plugins/inputs/solr/testcases/no_core_data/telegraf.conf @@ -0,0 +1,2 @@ +[[inputs.solr]] + servers = ["http://localhost:8983"] diff --git a/plugins/inputs/solr/testcases/v3.5/admin/cores.json b/plugins/inputs/solr/testcases/v3.5/admin/cores.json new file mode 100644 index 000000000..ddf379129 --- /dev/null +++ b/plugins/inputs/solr/testcases/v3.5/admin/cores.json @@ -0,0 +1,62 @@ +{ + "status": { + "core1": { + "index": { + "size": "1.66 GB", + "sizeInBytes": 1784635686, + "lastModified": "2017-01-14T10:30:07.419Z", + "userData": { + "commitTimeMSec": "1484389807419" + }, + "numDocs": 7517488, + "maxDoc": 7620303, + "deletedDocs": 102815, + "version": 267485, + "segmentCount": 21, + "current": true, + "hasDeletions": true, + "directory": "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@/srv/solr-core1/index.20160607000000124 lockFactory=org.apache.lucene.store.SingleInstanceLockFactory@646d42ce" + }, + "name": "core1", + "isDefaultCore": false, + "instanceDir": "solr/core1/", + "dataDir": "/srv/solr-core1/", + "config": "solrconfig.xml", + "schema": "schema.xml", + "startTime": "2016-12-20T18:41:10.449Z", + "uptime": 2314746645 + }, + "main": { + "index": { + "size": "230.5 GB", + "sizeInBytes": 247497521642, + "lastModified": "2017-01-16T11:59:18.189Z", + "userData": { + "commitTimeMSec": "1484567958189" + }, + "numDocs": 168943425, + "maxDoc": 169562700, + "deletedDocs": 619275, + "version": 70688464, + "segmentCount": 33, + "current": true, + "hasDeletions": true, + "directory": "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@/srv/solr/index.20161110090000012 lockFactory=org.apache.lucene.store.SingleInstanceLockFactory@15088f05" + }, + "name": "main", + "isDefaultCore": true, + "instanceDir": "solr/main/", + "dataDir": "/srv/solr/", + "config": "solrconfig.xml", + "schema": "schema.xml", + "startTime": "2016-12-20T18:41:10.796Z", + "uptime": 2314746294 + } + }, + "initFailures": {}, + "defaultCoreName": "main", + "responseHeader": { + "QTime": 13, + "status": 0 + } +} diff --git a/plugins/inputs/solr/testdata/m_beans_solr3_main_response.json b/plugins/inputs/solr/testcases/v3.5/core1/admin/mbeans.json similarity index 100% rename from plugins/inputs/solr/testdata/m_beans_solr3_main_response.json rename to plugins/inputs/solr/testcases/v3.5/core1/admin/mbeans.json diff --git a/plugins/inputs/solr/testcases/v3.5/expected.out b/plugins/inputs/solr/testcases/v3.5/expected.out new file mode 100644 index 000000000..dc5b0d457 --- /dev/null +++ b/plugins/inputs/solr/testcases/v3.5/expected.out @@ -0,0 +1,74 @@ +solr_admin,core=core1 deleted_docs=102815i,max_docs=7620303i,num_docs=7517488i,size_in_bytes=1784635686i +solr_admin,core=main deleted_docs=619275i,max_docs=169562700i,num_docs=168943425i,size_in_bytes=247497521642i +solr_cache,core=core1,handler=documentCache cumulative_evictions=40344i,cumulative_hitratio=0.12,cumulative_hits=22584i,cumulative_inserts=157851i,cumulative_lookups=180435i,evictions=0i,hitratio=0,hits=0i,inserts=0i,lookups=0i,size=0i,warmup_time=0i +solr_cache,core=core1,handler=fieldValueCache cumulative_evictions=0i,cumulative_hitratio=0.63,cumulative_hits=5432i,cumulative_inserts=1437i,cumulative_lookups=8529i,evictions=0i,hitratio=0.6,hits=3i,inserts=1i,lookups=5i,size=1i,warmup_time=0i +solr_cache,core=core1,handler=filterCache cumulative_evictions=0i,cumulative_hitratio=1,cumulative_hits=4041i,cumulative_inserts=2828i,cumulative_lookups=4041i,evictions=0i,hitratio=1,hits=2i,inserts=2i,lookups=2i,size=2i,warmup_time=0i +solr_cache,core=core1,handler=queryResultCache cumulative_evictions=0i,cumulative_hitratio=0.51,cumulative_hits=5509i,cumulative_inserts=5626i,cumulative_lookups=10630i,evictions=0i,hitratio=0.5,hits=2i,inserts=2i,lookups=4i,size=2i,warmup_time=0i +solr_cache,core=main,handler=documentCache cumulative_evictions=40344i,cumulative_hitratio=0.12,cumulative_hits=22584i,cumulative_inserts=157851i,cumulative_lookups=180435i,evictions=0i,hitratio=0,hits=0i,inserts=0i,lookups=0i,size=0i,warmup_time=0i +solr_cache,core=main,handler=fieldValueCache cumulative_evictions=0i,cumulative_hitratio=0.63,cumulative_hits=5432i,cumulative_inserts=1437i,cumulative_lookups=8529i,evictions=0i,hitratio=0.6,hits=3i,inserts=1i,lookups=5i,size=1i,warmup_time=0i +solr_cache,core=main,handler=filterCache cumulative_evictions=0i,cumulative_hitratio=1,cumulative_hits=4041i,cumulative_inserts=2828i,cumulative_lookups=4041i,evictions=0i,hitratio=1,hits=2i,inserts=2i,lookups=2i,size=2i,warmup_time=0i +solr_cache,core=main,handler=queryResultCache cumulative_evictions=0i,cumulative_hitratio=0.51,cumulative_hits=5509i,cumulative_inserts=5626i,cumulative_lookups=10630i,evictions=0i,hitratio=0.5,hits=2i,inserts=2i,lookups=4i,size=2i,warmup_time=0i +solr_core,core=core1,handler=core deleted_docs=0i,max_docs=0i,num_docs=0i +solr_core,core=core1,handler=searcher deleted_docs=0i,max_docs=117305i,num_docs=117166i +solr_core,core=main,handler=core deleted_docs=0i,max_docs=0i,num_docs=0i +solr_core,core=main,handler=searcher deleted_docs=0i,max_docs=117305i,num_docs=117166i +solr_queryhandler,core=core1,handler=/admin/file 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/admin/luke 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/admin/mbeans 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.00785414,avg_time_per_request=0.50742114,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=1078i,timeouts=0i,total_time=547 +solr_queryhandler,core=core1,handler=/admin/ping 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353163i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/admin/plugins 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/admin/properties 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/admin/system 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/admin/threads 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/analysis/document 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/analysis/field 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/browse 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353156i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/dataimport 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.017792022,avg_time_per_request=0.7158067,errors=0i,handler_start=1516083353155i,median_request_time=0,requests=2442i,timeouts=0i,total_time=1748 +solr_queryhandler,core=core1,handler=/debug/dump 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353163i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.BinaryUpdateRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353158i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.component.SearchHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353156i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.dataimport.DataImportHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.017792022,avg_time_per_request=0.7158067,errors=0i,handler_start=1516083353155i,median_request_time=0,requests=2442i,timeouts=0i,total_time=1748 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.DumpRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353163i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.PingRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353163i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.XmlUpdateRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353157i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=search 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353156i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/spell 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=standard 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.08364145,avg_time_per_request=27.765942,errors=0i,handler_start=1516083353155i,median_request_time=0,requests=11480i,timeouts=0i,total_time=318753 +solr_queryhandler,core=core1,handler=/terms 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=tvrh 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/update 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353157i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/update/csv 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/update/extract 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/update/javabin 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353158i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=core1,handler=/update/json 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.02160195,avg_time_per_request=52.347034,errors=26i,handler_start=1516103486630i,median_request_time=0,requests=2530i,timeouts=0i,total_time=132438 +solr_queryhandler,core=main,handler=/admin/file 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/admin/luke 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/admin/mbeans 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.00785414,avg_time_per_request=0.50742114,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=1078i,timeouts=0i,total_time=547 +solr_queryhandler,core=main,handler=/admin/ping 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353163i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/admin/plugins 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/admin/properties 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/admin/system 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/admin/threads 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353227i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/analysis/document 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/analysis/field 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/browse 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353156i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/dataimport 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.017792022,avg_time_per_request=0.7158067,errors=0i,handler_start=1516083353155i,median_request_time=0,requests=2442i,timeouts=0i,total_time=1748 +solr_queryhandler,core=main,handler=/debug/dump 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353163i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=org.apache.solr.handler.BinaryUpdateRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353158i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=org.apache.solr.handler.component.SearchHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353156i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=org.apache.solr.handler.dataimport.DataImportHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.017792022,avg_time_per_request=0.7158067,errors=0i,handler_start=1516083353155i,median_request_time=0,requests=2442i,timeouts=0i,total_time=1748 +solr_queryhandler,core=main,handler=org.apache.solr.handler.DumpRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353163i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=org.apache.solr.handler.PingRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353163i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=org.apache.solr.handler.XmlUpdateRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353157i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=search 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353156i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/spell 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=standard 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.08364145,avg_time_per_request=27.765942,errors=0i,handler_start=1516083353155i,median_request_time=0,requests=11480i,timeouts=0i,total_time=318753 +solr_queryhandler,core=main,handler=/terms 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=tvrh 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/update 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353157i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/update/csv 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/update/extract 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/update/javabin 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1516083353158i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 +solr_queryhandler,core=main,handler=/update/json 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0.02160195,avg_time_per_request=52.347034,errors=26i,handler_start=1516103486630i,median_request_time=0,requests=2530i,timeouts=0i,total_time=132438 +solr_updatehandler,core=core1,handler=updateHandler adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=3220i,cumulative_adds=354209i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=3i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=3i,rollbacks=0i,soft_autocommits=0i +solr_updatehandler,core=main,handler=updateHandler adds=0i,autocommit_max_docs=0i,autocommit_max_time=0i,autocommits=0i,commits=3220i,cumulative_adds=354209i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=3i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=3i,rollbacks=0i,soft_autocommits=0i diff --git a/plugins/inputs/solr/testcases/v3.5/main/admin/mbeans.json b/plugins/inputs/solr/testcases/v3.5/main/admin/mbeans.json new file mode 100644 index 000000000..3547133cd --- /dev/null +++ b/plugins/inputs/solr/testcases/v3.5/main/admin/mbeans.json @@ -0,0 +1,728 @@ +{ + "solr-mbeans": [ + "CORE", + { + "searcher": { + "class": "org.apache.solr.search.SolrIndexSearcher", + "version": "1.0", + "description": "index searcher", + "srcId": "$Id: SolrIndexSearcher.java 1201291 2011-11-12 18:02:03Z simonw $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java $", + "docs": null, + "stats": { + "searcherName": "Searcher@4eea69e8 main", + "caching": true, + "numDocs": 117166, + "maxDoc": 117305, + "reader": "SolrIndexReader{this=2ee29b0,r=ReadOnlyDirectoryReader@2ee29b0,refCnt=1,segments=5}", + "readerDir": "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@/usr/solrData/search/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@178671d8", + "indexVersion": 1491861981523, + "openedAt": "2018-01-17T20:14:54.677Z", + "registeredAt": "2018-01-17T20:14:54.679Z", + "warmupTime": 1 + } + }, + "core": { + "class": "search", + "version": "1.0", + "description": "SolrCore", + "srcId": "$Id: SolrCore.java 1190108 2011-10-28 01:13:25Z yonik $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/core/SolrCore.java $", + "docs": null, + "stats": { + "coreName": "search", + "startTime": "2018-01-16T06:15:53.152Z", + "refCount": 2, + "aliases": [ + "search" + ] + } + }, + "Searcher@4eea69e8 main": { + "class": "org.apache.solr.search.SolrIndexSearcher", + "version": "1.0", + "description": "index searcher", + "srcId": "$Id: SolrIndexSearcher.java 1201291 2011-11-12 18:02:03Z simonw $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java $", + "docs": null, + "stats": { + "searcherName": "Searcher@4eea69e8 main", + "caching": true, + "numDocs": 117166, + "maxDoc": 117305, + "reader": "SolrIndexReader{this=2ee29b0,r=ReadOnlyDirectoryReader@2ee29b0,refCnt=1,segments=5}", + "readerDir": "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@/usr/solrData/search/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@178671d8", + "indexVersion": 1491861981523, + "openedAt": "2018-01-17T20:14:54.677Z", + "registeredAt": "2018-01-17T20:14:54.679Z", + "warmupTime": 1 + } + } + }, + "QUERYHANDLER", + { + "/admin/system": { + "class": "org.apache.solr.handler.admin.SystemInfoHandler", + "version": "$Revision: 1067172 $", + "description": "Get System Info", + "srcId": "$Id: SystemInfoHandler.java 1067172 2011-02-04 12:50:14Z uschindler $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353227, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/admin/plugins": { + "class": "org.apache.solr.handler.admin.PluginInfoHandler", + "version": "$Revision: 1052938 $", + "description": "Registry", + "srcId": "$Id: PluginInfoHandler.java 1052938 2010-12-26 20:21:48Z rmuir $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/admin/PluginInfoHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353227, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/admin/file": { + "class": "org.apache.solr.handler.admin.ShowFileRequestHandler", + "version": "$Revision: 1146806 $", + "description": "Admin Get File -- view config files directly", + "srcId": "$Id: ShowFileRequestHandler.java 1146806 2011-07-14 17:01:37Z erick $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353227, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/update/javabin": { + "class": "org.apache.solr.handler.BinaryUpdateRequestHandler", + "version": "$Revision: 1165749 $", + "description": "Add/Update multiple documents with javabin format", + "srcId": "$Id: BinaryUpdateRequestHandler.java 1165749 2011-09-06 16:20:07Z janhoy $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353158, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/admin/luke": { + "class": "org.apache.solr.handler.admin.LukeRequestHandler", + "version": "$Revision: 1201265 $", + "description": "Lucene Index Browser. Inspired and modeled after Luke: http://www.getopt.org/luke/", + "srcId": "$Id: LukeRequestHandler.java 1201265 2011-11-12 14:09:28Z mikemccand $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java $", + "docs": [ + "java.net.URL:http://wiki.apache.org/solr/LukeRequestHandler" + ], + "stats": { + "handlerStart": 1516083353227, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/dataimport": { + "class": "org.apache.solr.handler.dataimport.DataImportHandler", + "version": "1.0", + "description": "Manage data import from databases to Solr", + "srcId": "$Id: DataImportHandler.java 1171306 2011-09-15 22:43:33Z janhoy $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java $", + "docs": null, + "stats": [ + "Status", + "IDLE", + "Documents Processed", + "java.util.concurrent.atomic.AtomicLong:1", + "Requests made to DataSource", + "java.util.concurrent.atomic.AtomicLong:2", + "Rows Fetched", + "java.util.concurrent.atomic.AtomicLong:2", + "Documents Deleted", + "java.util.concurrent.atomic.AtomicLong:0", + "Documents Skipped", + "java.util.concurrent.atomic.AtomicLong:0", + "Total Documents Processed", + "java.util.concurrent.atomic.AtomicLong:351705", + "Total Requests made to DataSource", + "java.util.concurrent.atomic.AtomicLong:1438", + "Total Rows Fetched", + "java.util.concurrent.atomic.AtomicLong:876393", + "Total Documents Deleted", + "java.util.concurrent.atomic.AtomicLong:0", + "Total Documents Skipped", + "java.util.concurrent.atomic.AtomicLong:0", + "handlerStart", + 1516083353155, + "requests", + 2442, + "errors", + 0, + "timeouts", + 0, + "totalTime", + 1748, + "avgTimePerRequest", + 0.7158067, + "avgRequestsPerSecond", + 0.017792022 + ] + }, + "/update": { + "class": "org.apache.solr.handler.XmlUpdateRequestHandler", + "version": "$Revision: 1165749 $", + "description": "Add documents with XML", + "srcId": "$Id: XmlUpdateRequestHandler.java 1165749 2011-09-06 16:20:07Z janhoy $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353157, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/terms": { + "class": "Lazy[solr.SearchHandler]", + "version": "$Revision: 1086822 $", + "description": "Lazy[solr.SearchHandler]", + "srcId": "$Id: RequestHandlers.java 1086822 2011-03-30 02:23:07Z koji $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/core/RequestHandlers.java $", + "docs": null, + "stats": { + "note": "not initialized yet" + } + }, + "org.apache.solr.handler.XmlUpdateRequestHandler": { + "class": "org.apache.solr.handler.XmlUpdateRequestHandler", + "version": "$Revision: 1165749 $", + "description": "Add documents with XML", + "srcId": "$Id: XmlUpdateRequestHandler.java 1165749 2011-09-06 16:20:07Z janhoy $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353157, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "org.apache.solr.handler.PingRequestHandler": { + "class": "org.apache.solr.handler.PingRequestHandler", + "version": "$Revision: 1142180 $", + "description": "Reports application health to a load-balancer", + "srcId": "$Id: PingRequestHandler.java 1142180 2011-07-02 09:04:29Z uschindler $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353163, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/admin/threads": { + "class": "org.apache.solr.handler.admin.ThreadDumpHandler", + "version": "$Revision: 1052938 $", + "description": "Thread Dump", + "srcId": "$Id: ThreadDumpHandler.java 1052938 2010-12-26 20:21:48Z rmuir $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353227, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "org.apache.solr.handler.BinaryUpdateRequestHandler": { + "class": "org.apache.solr.handler.BinaryUpdateRequestHandler", + "version": "$Revision: 1165749 $", + "description": "Add/Update multiple documents with javabin format", + "srcId": "$Id: BinaryUpdateRequestHandler.java 1165749 2011-09-06 16:20:07Z janhoy $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353158, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "org.apache.solr.handler.dataimport.DataImportHandler": { + "class": "org.apache.solr.handler.dataimport.DataImportHandler", + "version": "1.0", + "description": "Manage data import from databases to Solr", + "srcId": "$Id: DataImportHandler.java 1171306 2011-09-15 22:43:33Z janhoy $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java $", + "docs": null, + "stats": [ + "Status", + "IDLE", + "Documents Processed", + "java.util.concurrent.atomic.AtomicLong:1", + "Requests made to DataSource", + "java.util.concurrent.atomic.AtomicLong:2", + "Rows Fetched", + "java.util.concurrent.atomic.AtomicLong:2", + "Documents Deleted", + "java.util.concurrent.atomic.AtomicLong:0", + "Documents Skipped", + "java.util.concurrent.atomic.AtomicLong:0", + "Total Documents Processed", + "java.util.concurrent.atomic.AtomicLong:351705", + "Total Requests made to DataSource", + "java.util.concurrent.atomic.AtomicLong:1438", + "Total Rows Fetched", + "java.util.concurrent.atomic.AtomicLong:876393", + "Total Documents Deleted", + "java.util.concurrent.atomic.AtomicLong:0", + "Total Documents Skipped", + "java.util.concurrent.atomic.AtomicLong:0", + "handlerStart", + 1516083353155, + "requests", + 2442, + "errors", + 0, + "timeouts", + 0, + "totalTime", + 1748, + "avgTimePerRequest", + 0.7158067, + "avgRequestsPerSecond", + 0.017792022 + ] + }, + "/analysis/field": { + "class": "Lazy[solr.FieldAnalysisRequestHandler]", + "version": "$Revision: 1086822 $", + "description": "Lazy[solr.FieldAnalysisRequestHandler]", + "srcId": "$Id: RequestHandlers.java 1086822 2011-03-30 02:23:07Z koji $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/core/RequestHandlers.java $", + "docs": null, + "stats": { + "note": "not initialized yet" + } + }, + "/browse": { + "class": "org.apache.solr.handler.component.SearchHandler", + "version": "$Revision: 1052938 $", + "description": "Search using components: org.apache.solr.handler.component.QueryComponent,org.apache.solr.handler.component.FacetComponent,org.apache.solr.handler.component.MoreLikeThisComponent,org.apache.solr.handler.component.HighlightComponent,org.apache.solr.handler.component.StatsComponent,org.apache.solr.handler.component.SpellCheckComponent,org.apache.solr.handler.component.DebugComponent,", + "srcId": "$Id: SearchHandler.java 1052938 2010-12-26 20:21:48Z rmuir $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353156, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/admin/ping": { + "class": "org.apache.solr.handler.PingRequestHandler", + "version": "$Revision: 1142180 $", + "description": "Reports application health to a load-balancer", + "srcId": "$Id: PingRequestHandler.java 1142180 2011-07-02 09:04:29Z uschindler $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353163, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/admin/mbeans": { + "class": "org.apache.solr.handler.admin.SolrInfoMBeanHandler", + "version": "$Revision: 1065312 $", + "description": "Get Info (and statistics) about all registered SolrInfoMBeans", + "srcId": "$Id: SolrInfoMBeanHandler.java 1065312 2011-01-30 16:08:25Z rmuir $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353227, + "requests": 1078, + "errors": 0, + "timeouts": 0, + "totalTime": 547, + "avgTimePerRequest": 0.50742114, + "avgRequestsPerSecond": 0.00785414 + } + }, + "/analysis/document": { + "class": "Lazy[solr.DocumentAnalysisRequestHandler]", + "version": "$Revision: 1086822 $", + "description": "Lazy[solr.DocumentAnalysisRequestHandler]", + "srcId": "$Id: RequestHandlers.java 1086822 2011-03-30 02:23:07Z koji $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/core/RequestHandlers.java $", + "docs": null, + "stats": { + "note": "not initialized yet" + } + }, + "search": { + "class": "org.apache.solr.handler.component.SearchHandler", + "version": "$Revision: 1052938 $", + "description": "Search using components: org.apache.solr.handler.component.QueryComponent,org.apache.solr.handler.component.FacetComponent,org.apache.solr.handler.component.MoreLikeThisComponent,org.apache.solr.handler.component.HighlightComponent,org.apache.solr.handler.component.StatsComponent,org.apache.solr.handler.component.DebugComponent,", + "srcId": "$Id: SearchHandler.java 1052938 2010-12-26 20:21:48Z rmuir $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353156, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/update/csv": { + "class": "Lazy[solr.CSVRequestHandler]", + "version": "$Revision: 1086822 $", + "description": "Lazy[solr.CSVRequestHandler]", + "srcId": "$Id: RequestHandlers.java 1086822 2011-03-30 02:23:07Z koji $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/core/RequestHandlers.java $", + "docs": null, + "stats": { + "note": "not initialized yet" + } + }, + "/update/json": { + "class": "Lazy[solr.JsonUpdateRequestHandler]", + "version": "$Revision: 1086822 $ :: $Revision: 1102081 $", + "description": "Add documents with JSON", + "srcId": "$Id: RequestHandlers.java 1086822 2011-03-30 02:23:07Z koji $ :: $Id: JsonUpdateRequestHandler.java 1102081 2011-05-11 20:37:04Z yonik $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/core/RequestHandlers.java $\n$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/JsonUpdateRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516103486630, + "requests": 2530, + "errors": 26, + "timeouts": 0, + "totalTime": 132438, + "avgTimePerRequest": 52.347034, + "avgRequestsPerSecond": 0.02160195 + } + }, + "/admin/": { + "class": "org.apache.solr.handler.admin.AdminHandlers", + "version": "$Revision: 953887 $", + "description": "Register Standard Admin Handlers", + "srcId": "$Id: AdminHandlers.java 953887 2010-06-11 21:53:43Z hossman $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/admin/AdminHandlers.java $", + "docs": null, + "stats": null + }, + "standard": { + "class": "org.apache.solr.handler.component.SearchHandler", + "version": "$Revision: 1052938 $", + "description": "Search using components: org.apache.solr.handler.component.QueryComponent,org.apache.solr.handler.component.FacetComponent,org.apache.solr.handler.component.MoreLikeThisComponent,org.apache.solr.handler.component.HighlightComponent,org.apache.solr.handler.component.StatsComponent,org.apache.solr.handler.component.DebugComponent,", + "srcId": "$Id: SearchHandler.java 1052938 2010-12-26 20:21:48Z rmuir $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353155, + "requests": 11480, + "errors": 0, + "timeouts": 0, + "totalTime": 318753, + "avgTimePerRequest": 27.765942, + "avgRequestsPerSecond": 0.08364145 + } + }, + "org.apache.solr.handler.admin.AdminHandlers": { + "class": "org.apache.solr.handler.admin.AdminHandlers", + "version": "$Revision: 953887 $", + "description": "Register Standard Admin Handlers", + "srcId": "$Id: AdminHandlers.java 953887 2010-06-11 21:53:43Z hossman $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/admin/AdminHandlers.java $", + "docs": null, + "stats": null + }, + "tvrh": { + "class": "Lazy[solr.SearchHandler]", + "version": "$Revision: 1086822 $", + "description": "Lazy[solr.SearchHandler]", + "srcId": "$Id: RequestHandlers.java 1086822 2011-03-30 02:23:07Z koji $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/core/RequestHandlers.java $", + "docs": null, + "stats": { + "note": "not initialized yet" + } + }, + "org.apache.solr.handler.DumpRequestHandler": { + "class": "org.apache.solr.handler.DumpRequestHandler", + "version": "$Revision: 1067172 $", + "description": "Dump handler (debug)", + "srcId": "$Id: DumpRequestHandler.java 1067172 2011-02-04 12:50:14Z uschindler $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353163, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/update/extract": { + "class": "Lazy[solr.extraction.ExtractingRequestHandler]", + "version": "$Revision: 1086822 $", + "description": "Lazy[solr.extraction.ExtractingRequestHandler]", + "srcId": "$Id: RequestHandlers.java 1086822 2011-03-30 02:23:07Z koji $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/core/RequestHandlers.java $", + "docs": null, + "stats": { + "note": "not initialized yet" + } + }, + "/admin/properties": { + "class": "org.apache.solr.handler.admin.PropertiesRequestHandler", + "version": "$Revision: 898152 $", + "description": "Get System Properties", + "srcId": "$Id: PropertiesRequestHandler.java 898152 2010-01-12 02:19:56Z ryan $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353227, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "org.apache.solr.handler.component.SearchHandler": { + "class": "org.apache.solr.handler.component.SearchHandler", + "version": "$Revision: 1052938 $", + "description": "Search using components: org.apache.solr.handler.component.QueryComponent,org.apache.solr.handler.component.FacetComponent,org.apache.solr.handler.component.MoreLikeThisComponent,org.apache.solr.handler.component.HighlightComponent,org.apache.solr.handler.component.StatsComponent,org.apache.solr.handler.component.SpellCheckComponent,org.apache.solr.handler.component.DebugComponent,", + "srcId": "$Id: SearchHandler.java 1052938 2010-12-26 20:21:48Z rmuir $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353156, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + }, + "/spell": { + "class": "Lazy[solr.SearchHandler]", + "version": "$Revision: 1086822 $", + "description": "Lazy[solr.SearchHandler]", + "srcId": "$Id: RequestHandlers.java 1086822 2011-03-30 02:23:07Z koji $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/core/RequestHandlers.java $", + "docs": null, + "stats": { + "note": "not initialized yet" + } + }, + "/debug/dump": { + "class": "org.apache.solr.handler.DumpRequestHandler", + "version": "$Revision: 1067172 $", + "description": "Dump handler (debug)", + "srcId": "$Id: DumpRequestHandler.java 1067172 2011-02-04 12:50:14Z uschindler $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java $", + "docs": null, + "stats": { + "handlerStart": 1516083353163, + "requests": 0, + "errors": 0, + "timeouts": 0, + "totalTime": 0, + "avgTimePerRequest": "NaN", + "avgRequestsPerSecond": 0 + } + } + }, + "UPDATEHANDLER", + { + "updateHandler": { + "class": "org.apache.solr.update.DirectUpdateHandler2", + "version": "1.0", + "description": "Update handler that efficiently directly updates the on-disk main lucene index", + "srcId": "$Id: DirectUpdateHandler2.java 1203770 2011-11-18 17:55:52Z mikemccand $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java $", + "docs": null, + "stats": { + "commits": 3220, + "autocommits": 0, + "optimizes": 3, + "rollbacks": 0, + "expungeDeletes": 0, + "docsPending": 0, + "adds": 0, + "deletesById": 0, + "deletesByQuery": 0, + "errors": 0, + "cumulative_adds": 354209, + "cumulative_deletesById": 0, + "cumulative_deletesByQuery": 3, + "cumulative_errors": 0 + } + } + }, + "CACHE", + { + "queryResultCache": { + "class": "org.apache.solr.search.LRUCache", + "version": "1.0", + "description": "LRU Cache(maxSize=512, initialSize=512)", + "srcId": "$Id: LRUCache.java 1065312 2011-01-30 16:08:25Z rmuir $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/search/LRUCache.java $", + "docs": null, + "stats": { + "lookups": 4, + "hits": 2, + "hitratio": "0.50", + "inserts": 2, + "evictions": 0, + "size": 2, + "warmupTime": 0, + "cumulative_lookups": 10630, + "cumulative_hits": 5509, + "cumulative_hitratio": "0.51", + "cumulative_inserts": 5626, + "cumulative_evictions": 0 + } + }, + "fieldCache": { + "class": "org.apache.solr.search.SolrFieldCacheMBean", + "version": "1.0", + "description": "Provides introspection of the Lucene FieldCache, this is **NOT** a cache that is managed by Solr.", + "srcId": "$Id: SolrFieldCacheMBean.java 984594 2010-08-11 21:42:04Z yonik $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/search/SolrFieldCacheMBean.java $", + "docs": null, + "stats": { + "entries_count": 174, + "entry#0": "'MMapIndexInput(path=\"/usr/solrData/search/index/_9eir.frq\")'=>'latlng_0_coordinate',double,org.apache.lucene.search.FieldCache.NUMERIC_UTILS_DOUBLE_PARSER=>[D#661647869", + "insanity_count": 1, + "insanity#0": "SUBREADER: Found caches for descendants of ReadOnlyDirectoryReader(segments_1wo _3kl(3.5):C133115/12 _3kw(3.5):C17/2 _3kx(3.5):C6 _3ky(3.5):C1 _3kz(3.5):C2 _3l0(3.5):C2 _3l1(3.5):C1 _3l2(3.5):C1 _3l3(3.5):C1 _3l4(3.5):C1)+owner\n\t'ReadOnlyDirectoryReader(segments_1wo _3kl(3.5):C133115/12 _3kw(3.5):C17/2 _3kx(3.5):C6 _3ky(3.5):C1 _3kz(3.5):C2 _3l0(3.5):C2 _3l1(3.5):C1 _3l2(3.5):C1 _3l3(3.5):C1 _3l4(3.5):C1)'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#927712538\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3kx.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#969886745\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3kz.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#495952608\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3ky.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#1581258843\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3l1.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#359550090\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3kl.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#1748227582\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3l4.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#1084424163\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3l3.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#1116912780\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3l0.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#1187916045\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3l2.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#62119827\n\t'MMapIndexInput(path=\"/usr/solrData/search/index/_3kw.frq\")'=>'owner',class org.apache.lucene.search.FieldCache$StringIndex,null=>org.apache.lucene.search.FieldCache$StringIndex#1756606907\n" + } + }, + "documentCache": { + "class": "org.apache.solr.search.LRUCache", + "version": "1.0", + "description": "LRU Cache(maxSize=512, initialSize=512)", + "srcId": "$Id: LRUCache.java 1065312 2011-01-30 16:08:25Z rmuir $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/search/LRUCache.java $", + "docs": null, + "stats": { + "lookups": 0, + "hits": 0, + "hitratio": "0.00", + "inserts": 0, + "evictions": 0, + "size": 0, + "warmupTime": 0, + "cumulative_lookups": 180435, + "cumulative_hits": 22584, + "cumulative_hitratio": "0.12", + "cumulative_inserts": 157851, + "cumulative_evictions": 40344 + } + }, + "fieldValueCache": { + "class": "org.apache.solr.search.FastLRUCache", + "version": "1.0", + "description": "Concurrent LRU Cache(maxSize=10000, initialSize=10, minSize=9000, acceptableSize=9500, cleanupThread=false)", + "srcId": "$Id: FastLRUCache.java 1170772 2011-09-14 19:09:56Z sarowe $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/search/FastLRUCache.java $", + "docs": null, + "stats": { + "lookups": 5, + "hits": 3, + "hitratio": "0.60", + "inserts": 1, + "evictions": 0, + "size": 1, + "warmupTime": 0, + "cumulative_lookups": 8529, + "cumulative_hits": 5432, + "cumulative_hitratio": "0.63", + "cumulative_inserts": 1437, + "cumulative_evictions": 0, + "item_parentCompanyId": "{field=parentCompanyId,memSize=785156,tindexSize=13056,time=136,phase1=135,nTerms=75696,bigTerms=0,termInstances=117166,uses=4}" + } + }, + "filterCache": { + "class": "org.apache.solr.search.FastLRUCache", + "version": "1.0", + "description": "Concurrent LRU Cache(maxSize=512, initialSize=512, minSize=460, acceptableSize=486, cleanupThread=false)", + "srcId": "$Id: FastLRUCache.java 1170772 2011-09-14 19:09:56Z sarowe $", + "src": "$URL: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_5/solr/core/src/java/org/apache/solr/search/FastLRUCache.java $", + "docs": null, + "stats": { + "lookups": 2, + "hits": 2, + "hitratio": "1.00", + "inserts": 2, + "evictions": 0, + "size": 2, + "warmupTime": 0, + "cumulative_lookups": 4041, + "cumulative_hits": 4041, + "cumulative_hitratio": "1.00", + "cumulative_inserts": 2828, + "cumulative_evictions": 0 + } + } + } + ] +} diff --git a/plugins/inputs/solr/testcases/v3.5/telegraf.conf b/plugins/inputs/solr/testcases/v3.5/telegraf.conf new file mode 100644 index 000000000..95bda0aea --- /dev/null +++ b/plugins/inputs/solr/testcases/v3.5/telegraf.conf @@ -0,0 +1,2 @@ +[[inputs.solr]] + servers = ["http://localhost:8983"] diff --git a/plugins/inputs/solr/testcases/v4.3/admin/cores.json b/plugins/inputs/solr/testcases/v4.3/admin/cores.json new file mode 100644 index 000000000..ddf379129 --- /dev/null +++ b/plugins/inputs/solr/testcases/v4.3/admin/cores.json @@ -0,0 +1,62 @@ +{ + "status": { + "core1": { + "index": { + "size": "1.66 GB", + "sizeInBytes": 1784635686, + "lastModified": "2017-01-14T10:30:07.419Z", + "userData": { + "commitTimeMSec": "1484389807419" + }, + "numDocs": 7517488, + "maxDoc": 7620303, + "deletedDocs": 102815, + "version": 267485, + "segmentCount": 21, + "current": true, + "hasDeletions": true, + "directory": "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@/srv/solr-core1/index.20160607000000124 lockFactory=org.apache.lucene.store.SingleInstanceLockFactory@646d42ce" + }, + "name": "core1", + "isDefaultCore": false, + "instanceDir": "solr/core1/", + "dataDir": "/srv/solr-core1/", + "config": "solrconfig.xml", + "schema": "schema.xml", + "startTime": "2016-12-20T18:41:10.449Z", + "uptime": 2314746645 + }, + "main": { + "index": { + "size": "230.5 GB", + "sizeInBytes": 247497521642, + "lastModified": "2017-01-16T11:59:18.189Z", + "userData": { + "commitTimeMSec": "1484567958189" + }, + "numDocs": 168943425, + "maxDoc": 169562700, + "deletedDocs": 619275, + "version": 70688464, + "segmentCount": 33, + "current": true, + "hasDeletions": true, + "directory": "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@/srv/solr/index.20161110090000012 lockFactory=org.apache.lucene.store.SingleInstanceLockFactory@15088f05" + }, + "name": "main", + "isDefaultCore": true, + "instanceDir": "solr/main/", + "dataDir": "/srv/solr/", + "config": "solrconfig.xml", + "schema": "schema.xml", + "startTime": "2016-12-20T18:41:10.796Z", + "uptime": 2314746294 + } + }, + "initFailures": {}, + "defaultCoreName": "main", + "responseHeader": { + "QTime": 13, + "status": 0 + } +} diff --git a/plugins/inputs/solr/testdata/m_beans_core1_response.json b/plugins/inputs/solr/testcases/v4.3/core1/admin/mbeans.json similarity index 100% rename from plugins/inputs/solr/testdata/m_beans_core1_response.json rename to plugins/inputs/solr/testcases/v4.3/core1/admin/mbeans.json diff --git a/plugins/inputs/solr/testcases/v4.3/expected.out b/plugins/inputs/solr/testcases/v4.3/expected.out new file mode 100644 index 000000000..c93b6063b --- /dev/null +++ b/plugins/inputs/solr/testcases/v4.3/expected.out @@ -0,0 +1,78 @@ +solr_admin,core=core1 deleted_docs=102815i,max_docs=7620303i,num_docs=7517488i,size_in_bytes=1784635686i 1690546461086689072 +solr_admin,core=main deleted_docs=619275i,max_docs=169562700i,num_docs=168943425i,size_in_bytes=247497521642i 1690546461086689072 +solr_cache,core=core1,handler=documentCache cumulative_evictions=0i,cumulative_hitratio=0,cumulative_hits=0i,cumulative_inserts=0i,cumulative_lookups=0i,evictions=0i,hitratio=0,hits=0i,inserts=0i,lookups=0i,size=0i,warmup_time=0i 1690546461086689072 +solr_cache,core=core1,handler=fieldValueCache cumulative_evictions=0i,cumulative_hitratio=0,cumulative_hits=0i,cumulative_inserts=0i,cumulative_lookups=0i,evictions=0i,hitratio=0,hits=0i,inserts=0i,lookups=0i,size=0i,warmup_time=0i 1690546461086689072 +solr_cache,core=core1,handler=filterCache cumulative_evictions=0i,cumulative_hitratio=0,cumulative_hits=0i,cumulative_inserts=0i,cumulative_lookups=0i,evictions=0i,hitratio=0,hits=0i,inserts=0i,lookups=0i,size=0i,warmup_time=0i 1690546461086689072 +solr_cache,core=core1,handler=queryResultCache cumulative_evictions=0i,cumulative_hitratio=0,cumulative_hits=0i,cumulative_inserts=0i,cumulative_lookups=0i,evictions=0i,hitratio=0,hits=0i,inserts=0i,lookups=0i,size=0i,warmup_time=0i 1690546461086689072 +solr_cache,core=main,handler=documentCache cumulative_evictions=0i,cumulative_hitratio=0.99,cumulative_hits=2405834i,cumulative_inserts=5746i,cumulative_lookups=2411580i,evictions=0i,hitratio=0.99,hits=3733i,inserts=17i,lookups=3750i,size=17i,warmup_time=0i 1690546461086689072 +solr_cache,core=main,handler=fieldValueCache cumulative_evictions=0i,cumulative_hitratio=0,cumulative_hits=0i,cumulative_inserts=0i,cumulative_lookups=0i,evictions=0i,hitratio=0,hits=0i,inserts=0i,lookups=0i,size=0i,warmup_time=0i 1690546461086689072 +solr_cache,core=main,handler=filterCache cumulative_evictions=0i,cumulative_hitratio=0,cumulative_hits=55i,cumulative_inserts=14i,cumulative_lookups=69i,evictions=0i,hitratio=0.01,hits=0i,inserts=0i,lookups=0i,size=0i,warmup_time=0i 1690546461086689072 +solr_cache,core=main,handler=queryResultCache cumulative_evictions=0i,cumulative_hitratio=0.99,cumulative_hits=726607i,cumulative_inserts=2660i,cumulative_lookups=729510i,evictions=0i,hitratio=0.97,hits=1179i,inserts=27i,lookups=1206i,size=27i,warmup_time=0i 1690546461086689072 +solr_core,core=core1,handler=core deleted_docs=0i,max_docs=0i,num_docs=0i 1690546461086689072 +solr_core,core=core1,handler=searcher deleted_docs=102815i,max_docs=7620303i,num_docs=7517488i 1690546461086689072 +solr_core,core=main,handler=core deleted_docs=0i,max_docs=0i,num_docs=0i 1690546461086689072 +solr_core,core=main,handler=searcher deleted_docs=685249i,max_docs=169647870i,num_docs=168962621i 1690546461086689072 +solr_queryhandler,core=core1,handler=/admin/file 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270585i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/admin/logging 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270585i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/admin/luke 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270585i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/admin/mbeans 15min_rate_reqs_per_second=0.5414280756665533,5min_rate_reqs_per_second=0.545082835587804,75th_pc_request_time=4.68247075,95th_pc_request_time=5.586449799999999,999th_pc_request_time=127.79069480400044,99th_pc_request_time=9.033666420000003,avg_requests_per_second=0.09671315555928528,avg_time_per_request=1.5857040673599807,errors=0i,handler_start=1482259270585i,median_request_time=0.03985,requests=230969i,timeouts=0i,total_time=366246.89703 1690546461086689072 +solr_queryhandler,core=core1,handler=/admin/ping 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270461i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/admin/plugins 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270585i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/admin/properties 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270585i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/admin/system 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270585i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/admin/threads 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270585i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/analysis/document 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/analysis/field 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/debug/dump 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270462i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/get 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270456i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.component.SearchHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270455i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.CSVRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270458i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.DumpRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270462i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.JsonUpdateRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270457i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.PingRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270461i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.RealTimeGetHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270456i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.ReplicationHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270463i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=org.apache.solr.handler.UpdateRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270457i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/query 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270455i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/replication 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270463i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/select 15min_rate_reqs_per_second=0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000444659081257,5min_rate_reqs_per_second=0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014821969375,75th_pc_request_time=0.518583,95th_pc_request_time=0.518583,999th_pc_request_time=0.518583,99th_pc_request_time=0.518583,avg_requests_per_second=0.0000004187296521163843,avg_time_per_request=0.518583,errors=1i,handler_start=1482259270455i,median_request_time=0.518583,requests=1i,timeouts=0i,total_time=0.518583 1690546461086689072 +solr_queryhandler,core=core1,handler=/spell 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/terms 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/tvrh 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/update 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270457i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/update/csv 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270458i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/update/extract 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=core1,handler=/update/json 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270457i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/admin/file 15min_rate_reqs_per_second=0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030856020161426622,5min_rate_reqs_per_second=0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014821969375,75th_pc_request_time=0.38605350000000005,95th_pc_request_time=0.509739,999th_pc_request_time=0.509739,99th_pc_request_time=0.509739,avg_requests_per_second=0.0000020937536245042723,avg_time_per_request=0.2358606,errors=0i,handler_start=1482259271569i,median_request_time=0.184437,requests=5i,timeouts=0i,total_time=1.179303 1690546461086689072 +solr_queryhandler,core=main,handler=/admin/logging 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259271569i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/admin/luke 15min_rate_reqs_per_second=0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001387107477978473,5min_rate_reqs_per_second=0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014821969375,75th_pc_request_time=0.4085,95th_pc_request_time=0.4085,999th_pc_request_time=0.4085,99th_pc_request_time=0.4085,avg_requests_per_second=0.000001256252178648736,avg_time_per_request=0.3105803333333333,errors=0i,handler_start=1482259271568i,median_request_time=0.31491,requests=3i,timeouts=0i,total_time=0.931741 1690546461086689072 +solr_queryhandler,core=main,handler=/admin/mbeans 15min_rate_reqs_per_second=0.5409225999558686,5min_rate_reqs_per_second=0.5543011916891444,75th_pc_request_time=7.423904,95th_pc_request_time=9.10313265,999th_pc_request_time=129.19901009200038,99th_pc_request_time=11.944256130000017,avg_requests_per_second=0.0967113175627352,avg_time_per_request=2.0964317122172575,errors=0i,handler_start=1482259271568i,median_request_time=0.046796000000000004,requests=230953i,timeouts=0i,total_time=484175.0968 1690546461086689072 +solr_queryhandler,core=main,handler=/admin/ping 15min_rate_reqs_per_second=0.20000000000000234,5min_rate_reqs_per_second=0.2000000000000008,75th_pc_request_time=0.357574,95th_pc_request_time=0.4901222999999999,999th_pc_request_time=41.331967987,99th_pc_request_time=5.392157590000151,avg_requests_per_second=0.19975282659471533,avg_time_per_request=0.7749319095595372,errors=0i,handler_start=1482259270816i,median_request_time=0.3474125,requests=477021i,timeouts=0i,total_time=369658.79443 1690546461086689072 +solr_queryhandler,core=main,handler=/admin/plugins 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259271568i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/admin/properties 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259271568i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/admin/system 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259271568i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/admin/threads 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259271568i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/analysis/document 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/analysis/field 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/debug/dump 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270816i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/get 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270810i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=org.apache.solr.handler.component.SearchHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270810i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=org.apache.solr.handler.CSVRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270814i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=org.apache.solr.handler.DumpRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270816i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=org.apache.solr.handler.JsonUpdateRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270814i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=org.apache.solr.handler.PingRequestHandler 15min_rate_reqs_per_second=0.20000000000000234,5min_rate_reqs_per_second=0.2000000000000008,75th_pc_request_time=0.357574,95th_pc_request_time=0.4901222999999999,999th_pc_request_time=41.331967987,99th_pc_request_time=5.392157590000151,avg_requests_per_second=0.19975282688134827,avg_time_per_request=0.7749319095595372,errors=0i,handler_start=1482259270816i,median_request_time=0.3474125,requests=477021i,timeouts=0i,total_time=369658.79443 1690546461086689072 +solr_queryhandler,core=main,handler=org.apache.solr.handler.RealTimeGetHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270810i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=org.apache.solr.handler.ReplicationHandler 15min_rate_reqs_per_second=0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043340312709959365,5min_rate_reqs_per_second=0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014821969375,75th_pc_request_time=12.1924675,95th_pc_request_time=15.377019,999th_pc_request_time=15.377019,99th_pc_request_time=15.377019,avg_requests_per_second=0.0000020937529718964145,avg_time_per_request=9.9261886,errors=0i,handler_start=1482259270817i,median_request_time=8.547115,requests=5i,timeouts=0i,total_time=49.630943 1690546461086689072 +solr_queryhandler,core=main,handler=org.apache.solr.handler.UpdateRequestHandler 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270811i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/query 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270810i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/replication 15min_rate_reqs_per_second=0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043340312709959365,5min_rate_reqs_per_second=0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014821969375,75th_pc_request_time=12.1924675,95th_pc_request_time=15.377019,999th_pc_request_time=15.377019,99th_pc_request_time=15.377019,avg_requests_per_second=0.0000020937529681743243,avg_time_per_request=9.9261886,errors=0i,handler_start=1482259270817i,median_request_time=8.547115,requests=5i,timeouts=0i,total_time=49.630943 1690546461086689072 +solr_queryhandler,core=main,handler=/select 15min_rate_reqs_per_second=0.3320899738059959,5min_rate_reqs_per_second=0.32614693588972216,75th_pc_request_time=0.12097,95th_pc_request_time=0.21192269999999988,999th_pc_request_time=145.3845197990004,99th_pc_request_time=1.404113640000005,avg_requests_per_second=0.3054827447483145,avg_time_per_request=3.0322834013981987,errors=0i,handler_start=1482259270810i,median_request_time=0.116272,requests=729510i,timeouts=9i,total_time=2212081.064154 1690546461086689072 +solr_queryhandler,core=main,handler=/spell 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/terms 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/tvrh 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/update 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270811i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/update/csv 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270814i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/update/extract 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=0i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_queryhandler,core=main,handler=/update/json 15min_rate_reqs_per_second=0,5min_rate_reqs_per_second=0,75th_pc_request_time=0,95th_pc_request_time=0,999th_pc_request_time=0,99th_pc_request_time=0,avg_requests_per_second=0,avg_time_per_request=0,errors=0i,handler_start=1482259270814i,median_request_time=0,requests=0i,timeouts=0i,total_time=0 1690546461086689072 +solr_updatehandler,core=core1,handler=updateHandler adds=0i,autocommit_max_docs=500i,autocommit_max_time=900i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i 1690546461086689072 +solr_updatehandler,core=main,handler=updateHandler adds=0i,autocommit_max_docs=500i,autocommit_max_time=900i,autocommits=0i,commits=0i,cumulative_adds=0i,cumulative_deletes_by_id=0i,cumulative_deletes_by_query=0i,cumulative_errors=0i,deletes_by_id=0i,deletes_by_query=0i,docs_pending=0i,errors=0i,expunge_deletes=0i,optimizes=0i,rollbacks=0i,soft_autocommits=0i 1690546461086689072 diff --git a/plugins/inputs/solr/testdata/m_beans_main_response.json b/plugins/inputs/solr/testcases/v4.3/main/admin/mbeans.json similarity index 100% rename from plugins/inputs/solr/testdata/m_beans_main_response.json rename to plugins/inputs/solr/testcases/v4.3/main/admin/mbeans.json diff --git a/plugins/inputs/solr/testcases/v4.3/telegraf.conf b/plugins/inputs/solr/testcases/v4.3/telegraf.conf new file mode 100644 index 000000000..95bda0aea --- /dev/null +++ b/plugins/inputs/solr/testcases/v4.3/telegraf.conf @@ -0,0 +1,2 @@ +[[inputs.solr]] + servers = ["http://localhost:8983"] diff --git a/plugins/inputs/solr/testcases/v7/admin/cores.json b/plugins/inputs/solr/testcases/v7/admin/cores.json new file mode 100644 index 000000000..ddf379129 --- /dev/null +++ b/plugins/inputs/solr/testcases/v7/admin/cores.json @@ -0,0 +1,62 @@ +{ + "status": { + "core1": { + "index": { + "size": "1.66 GB", + "sizeInBytes": 1784635686, + "lastModified": "2017-01-14T10:30:07.419Z", + "userData": { + "commitTimeMSec": "1484389807419" + }, + "numDocs": 7517488, + "maxDoc": 7620303, + "deletedDocs": 102815, + "version": 267485, + "segmentCount": 21, + "current": true, + "hasDeletions": true, + "directory": "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@/srv/solr-core1/index.20160607000000124 lockFactory=org.apache.lucene.store.SingleInstanceLockFactory@646d42ce" + }, + "name": "core1", + "isDefaultCore": false, + "instanceDir": "solr/core1/", + "dataDir": "/srv/solr-core1/", + "config": "solrconfig.xml", + "schema": "schema.xml", + "startTime": "2016-12-20T18:41:10.449Z", + "uptime": 2314746645 + }, + "main": { + "index": { + "size": "230.5 GB", + "sizeInBytes": 247497521642, + "lastModified": "2017-01-16T11:59:18.189Z", + "userData": { + "commitTimeMSec": "1484567958189" + }, + "numDocs": 168943425, + "maxDoc": 169562700, + "deletedDocs": 619275, + "version": 70688464, + "segmentCount": 33, + "current": true, + "hasDeletions": true, + "directory": "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@/srv/solr/index.20161110090000012 lockFactory=org.apache.lucene.store.SingleInstanceLockFactory@15088f05" + }, + "name": "main", + "isDefaultCore": true, + "instanceDir": "solr/main/", + "dataDir": "/srv/solr/", + "config": "solrconfig.xml", + "schema": "schema.xml", + "startTime": "2016-12-20T18:41:10.796Z", + "uptime": 2314746294 + } + }, + "initFailures": {}, + "defaultCoreName": "main", + "responseHeader": { + "QTime": 13, + "status": 0 + } +} diff --git a/plugins/inputs/solr/testcases/v7/expected.out b/plugins/inputs/solr/testcases/v7/expected.out new file mode 100644 index 000000000..6e1ef5020 --- /dev/null +++ b/plugins/inputs/solr/testcases/v7/expected.out @@ -0,0 +1,3 @@ +solr_admin,core=core1 deleted_docs=102815i,max_docs=7620303i,num_docs=7517488i,size_in_bytes=1784635686i +solr_admin,core=main deleted_docs=619275i,max_docs=169562700i,num_docs=168943425i,size_in_bytes=247497521642i +solr_cache,core=main,handler=documentCache evictions=141485i,cumulative_evictions=141486i,cumulative_hitratio=0.42,cumulative_hits=115364i,cumulative_inserts=149768i,cumulative_lookups=265132i,hitratio=0.44,hits=1111i,inserts=987i,lookups=1234i,size=8192i,warmup_time=1i diff --git a/plugins/inputs/solr/testdata/m_beans_solr7_response.json b/plugins/inputs/solr/testcases/v7/main/admin/mbeans.json similarity index 100% rename from plugins/inputs/solr/testdata/m_beans_solr7_response.json rename to plugins/inputs/solr/testcases/v7/main/admin/mbeans.json diff --git a/plugins/inputs/solr/testcases/v7/telegraf.conf b/plugins/inputs/solr/testcases/v7/telegraf.conf new file mode 100644 index 000000000..95bda0aea --- /dev/null +++ b/plugins/inputs/solr/testcases/v7/telegraf.conf @@ -0,0 +1,2 @@ +[[inputs.solr]] + servers = ["http://localhost:8983"] diff --git a/plugins/inputs/solr/testdata3_test.go b/plugins/inputs/solr/testdata3_test.go deleted file mode 100644 index 99d5fd300..000000000 --- a/plugins/inputs/solr/testdata3_test.go +++ /dev/null @@ -1,59 +0,0 @@ -package solr - -var solr3CoreExpected = map[string]interface{}{ - "num_docs": int64(117166), - "max_docs": int64(117305), - "deleted_docs": int64(0), -} - -var solr3QueryHandlerExpected = map[string]interface{}{ - "15min_rate_reqs_per_second": float64(0), - "5min_rate_reqs_per_second": float64(0), - "75th_pc_request_time": float64(0), - "95th_pc_request_time": float64(0), - "999th_pc_request_time": float64(0), - "99th_pc_request_time": float64(0), - "avg_requests_per_second": float64(0), - "avg_time_per_request": float64(0), - "errors": int64(0), - "handler_start": int64(1516083353156), - "median_request_time": float64(0), - "requests": int64(0), - "timeouts": int64(0), - "total_time": float64(0), -} - -var solr3UpdateHandlerExpected = map[string]interface{}{ - "adds": int64(0), - "autocommit_max_docs": int64(0), - "autocommit_max_time": int64(0), - "autocommits": int64(0), - "commits": int64(3220), - "cumulative_adds": int64(354209), - "cumulative_deletes_by_id": int64(0), - "cumulative_deletes_by_query": int64(3), - "cumulative_errors": int64(0), - "deletes_by_id": int64(0), - "deletes_by_query": int64(0), - "docs_pending": int64(0), - "errors": int64(0), - "expunge_deletes": int64(0), - "optimizes": int64(3), - "rollbacks": int64(0), - "soft_autocommits": int64(0), -} - -var solr3CacheExpected = map[string]interface{}{ - "cumulative_evictions": int64(0), - "cumulative_hitratio": float64(1.00), - "cumulative_hits": int64(4041), - "cumulative_inserts": int64(2828), - "cumulative_lookups": int64(4041), - "evictions": int64(0), - "hitratio": float64(1.00), - "hits": int64(2), - "inserts": int64(2), - "lookups": int64(2), - "size": int64(2), - "warmup_time": int64(0), -} diff --git a/plugins/inputs/solr/testdata7_test.go b/plugins/inputs/solr/testdata7_test.go deleted file mode 100644 index 0efaf6c0b..000000000 --- a/plugins/inputs/solr/testdata7_test.go +++ /dev/null @@ -1,16 +0,0 @@ -package solr - -var solr7CacheExpected = map[string]interface{}{ - "evictions": int64(141485), - "cumulative_evictions": int64(141486), - "cumulative_hitratio": float64(0.42), - "cumulative_hits": int64(115364), - "cumulative_inserts": int64(149768), - "cumulative_lookups": int64(265132), - "hitratio": float64(0.44), - "hits": int64(1111), - "inserts": int64(987), - "lookups": int64(1234), - "size": int64(8192), - "warmup_time": int64(1), -} diff --git a/plugins/inputs/solr/testdata_test.go b/plugins/inputs/solr/testdata_test.go deleted file mode 100644 index 8a1383c9e..000000000 --- a/plugins/inputs/solr/testdata_test.go +++ /dev/null @@ -1,73 +0,0 @@ -package solr - -var solrAdminMainCoreStatusExpected = map[string]interface{}{ - "num_docs": int64(168943425), - "max_docs": int64(169562700), - "deleted_docs": int64(619275), - "size_in_bytes": int64(247497521642), -} - -var solrAdminCore1StatusExpected = map[string]interface{}{ - "num_docs": int64(7517488), - "max_docs": int64(7620303), - "deleted_docs": int64(102815), - "size_in_bytes": int64(1784635686), -} - -var solrCoreExpected = map[string]interface{}{ - "num_docs": int64(168962621), - "max_docs": int64(169647870), - "deleted_docs": int64(685249), -} - -var solrQueryHandlerExpected = map[string]interface{}{ - "15min_rate_reqs_per_second": float64(0), - "5min_rate_reqs_per_second": float64(0), - "75th_pc_request_time": float64(0), - "95th_pc_request_time": float64(0), - "999th_pc_request_time": float64(0), - "99th_pc_request_time": float64(0), - "avg_requests_per_second": float64(0), - "avg_time_per_request": float64(0), - "errors": int64(0), - "handler_start": int64(1482259270810), - "median_request_time": float64(0), - "requests": int64(0), - "timeouts": int64(0), - "total_time": float64(0), -} - -var solrUpdateHandlerExpected = map[string]interface{}{ - "adds": int64(0), - "autocommit_max_docs": int64(500), - "autocommit_max_time": int64(900), - "autocommits": int64(0), - "commits": int64(0), - "cumulative_adds": int64(0), - "cumulative_deletes_by_id": int64(0), - "cumulative_deletes_by_query": int64(0), - "cumulative_errors": int64(0), - "deletes_by_id": int64(0), - "deletes_by_query": int64(0), - "docs_pending": int64(0), - "errors": int64(0), - "expunge_deletes": int64(0), - "optimizes": int64(0), - "rollbacks": int64(0), - "soft_autocommits": int64(0), -} - -var solrCacheExpected = map[string]interface{}{ - "cumulative_evictions": int64(0), - "cumulative_hitratio": float64(0), - "cumulative_hits": int64(55), - "cumulative_inserts": int64(14), - "cumulative_lookups": int64(69), - "evictions": int64(0), - "hitratio": float64(0.01), - "hits": int64(0), - "inserts": int64(0), - "lookups": int64(0), - "size": int64(0), - "warmup_time": int64(0), -} diff --git a/plugins/inputs/solr/types.go b/plugins/inputs/solr/types.go new file mode 100644 index 000000000..0c3218adf --- /dev/null +++ b/plugins/inputs/solr/types.go @@ -0,0 +1,76 @@ +package solr + +import "encoding/json" + +// AdminCoresStatus is an exported type that +// contains a response with information about Solr cores. +type AdminCoresStatus struct { + Status map[string]struct { + Index struct { + SizeInBytes int64 `json:"sizeInBytes"` + NumDocs int64 `json:"numDocs"` + MaxDoc int64 `json:"maxDoc"` + DeletedDocs int64 `json:"deletedDocs"` + } `json:"index"` + } `json:"status"` +} + +// MBeansData is an exported type that +// contains a response from Solr with metrics +type MBeansData struct { + Headers ResponseHeader `json:"responseHeader"` + SolrMbeans []json.RawMessage `json:"solr-mbeans"` +} + +// ResponseHeader is an exported type that +// contains a response metrics: QTime and Status +type ResponseHeader struct { + QTime int64 `json:"QTime"` + Status int64 `json:"status"` +} + +// Core is an exported type that +// contains Core metrics +type Core struct { + Stats struct { + DeletedDocs int64 `json:"deletedDocs"` + MaxDoc int64 `json:"maxDoc"` + NumDocs int64 `json:"numDocs"` + } `json:"stats"` +} + +// QueryHandler is an exported type that +// contains query handler metrics +type QueryHandler struct { + Stats interface{} `json:"stats"` +} + +// UpdateHandler is an exported type that +// contains update handler metrics +type UpdateHandler struct { + Stats struct { + Adds int64 `json:"adds"` + AutocommitMaxDocs int64 `json:"autocommit maxDocs"` + AutocommitMaxTime string `json:"autocommit maxTime"` + Autocommits int64 `json:"autocommits"` + Commits int64 `json:"commits"` + CumulativeAdds int64 `json:"cumulative_adds"` + CumulativeDeletesByID int64 `json:"cumulative_deletesById"` + CumulativeDeletesByQuery int64 `json:"cumulative_deletesByQuery"` + CumulativeErrors int64 `json:"cumulative_errors"` + DeletesByID int64 `json:"deletesById"` + DeletesByQuery int64 `json:"deletesByQuery"` + DocsPending int64 `json:"docsPending"` + Errors int64 `json:"errors"` + ExpungeDeletes int64 `json:"expungeDeletes"` + Optimizes int64 `json:"optimizes"` + Rollbacks int64 `json:"rollbacks"` + SoftAutocommits int64 `json:"soft autocommits"` + } `json:"stats"` +} + +// Cache is an exported type that +// contains cache metrics +type Cache struct { + Stats map[string]interface{} `json:"stats"` +} diff --git a/testutil/container.go b/testutil/container.go index f125d4575..a63ec6b60 100644 --- a/testutil/container.go +++ b/testutil/container.go @@ -26,6 +26,7 @@ type Container struct { Entrypoint []string Env map[string]string ExposedPorts []string + Cmd []string Image string Name string Networks []string @@ -53,6 +54,7 @@ func (c *Container) Start() error { Entrypoint: c.Entrypoint, Env: c.Env, ExposedPorts: c.ExposedPorts, + Cmd: c.Cmd, Image: c.Image, Name: c.Name, Networks: c.Networks, diff --git a/testutil/metric.go b/testutil/metric.go index 44f20a3d3..75df98df0 100644 --- a/testutil/metric.go +++ b/testutil/metric.go @@ -118,6 +118,35 @@ func newMetricDiff(metric telegraf.Metric) *metricDiff { return m } +func newMetricStructureDiff(metric telegraf.Metric) *metricDiff { + if metric == nil { + return nil + } + + m := &metricDiff{} + m.Measurement = metric.Name() + + m.Tags = append(m.Tags, metric.TagList()...) + sort.Slice(m.Tags, func(i, j int) bool { + return m.Tags[i].Key < m.Tags[j].Key + }) + + for _, f := range metric.FieldList() { + sf := &telegraf.Field{ + Key: f.Key, + Value: reflect.Zero(reflect.TypeOf(f.Value)).Interface(), + } + m.Fields = append(m.Fields, sf) + } + sort.Slice(m.Fields, func(i, j int) bool { + return m.Fields[i].Key < m.Fields[j].Key + }) + + m.Type = metric.Type() + m.Time = metric.Time() + return m +} + // SortMetrics enables sorting metrics before comparison. func SortMetrics() cmp.Option { return cmpopts.SortSlices(lessFunc) @@ -215,6 +244,30 @@ func RequireMetricsEqual(t testing.TB, expected, actual []telegraf.Metric, opts } } +// RequireMetricsStructureEqual halts the test with an error if the array of +// metrics is structural different. Structure means that the metric differs +// in either name, tag key/values, time (if not ignored) or fields. For fields +// ONLY the name and type are compared NOT the value. +func RequireMetricsStructureEqual(t testing.TB, expected, actual []telegraf.Metric, opts ...cmp.Option) { + if x, ok := t.(helper); ok { + x.Helper() + } + + lhs := make([]*metricDiff, 0, len(expected)) + for _, m := range expected { + lhs = append(lhs, newMetricStructureDiff(m)) + } + rhs := make([]*metricDiff, 0, len(actual)) + for _, m := range actual { + rhs = append(rhs, newMetricStructureDiff(m)) + } + + opts = append(opts, cmpopts.EquateNaNs()) + if diff := cmp.Diff(lhs, rhs, opts...); diff != "" { + t.Fatalf("[]telegraf.Metric\n--- expected\n+++ actual\n%s", diff) + } +} + // MustMetric creates a new metric. func MustMetric( name string, diff --git a/testutil/testutil.go b/testutil/testutil.go index 916271d05..12e6c4877 100644 --- a/testutil/testutil.go +++ b/testutil/testutil.go @@ -1,6 +1,7 @@ package testutil import ( + "fmt" "net" "net/url" "os" @@ -9,6 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/metric" + "github.com/influxdata/telegraf/plugins/serializers/influx" ) var localhost = "localhost" @@ -78,3 +80,18 @@ func OnlyTags() cmp.Option { f := func(p cmp.Path) bool { return p.String() != "Tags" && p.String() != "" } return cmp.FilterPath(f, cmp.Ignore()) } + +func PrintMetrics(m []telegraf.Metric) { + s := &influx.Serializer{ + SortFields: true, + UintSupport: true, + } + if err := s.Init(); err != nil { + panic(err) + } + buf, err := s.SerializeBatch(m) + if err != nil { + panic(err) + } + fmt.Println(string(buf)) +}