diff --git a/beater/test_approved_es_documents/TestPublishIntegrationSpans.approved.json b/beater/test_approved_es_documents/TestPublishIntegrationSpans.approved.json index aa3bcfbe453..16b56407087 100644 --- a/beater/test_approved_es_documents/TestPublishIntegrationSpans.approved.json +++ b/beater/test_approved_es_documents/TestPublishIntegrationSpans.approved.json @@ -283,6 +283,7 @@ "db": { "instance": "customers", "link": "other.db.com", + "rows_affected": 2, "statement": "SELECT * FROM product_types WHERE user_id=?", "type": "sql", "user": { diff --git a/changelogs/head.asciidoc b/changelogs/head.asciidoc index f67aab32af8..c08b5b30180 100644 --- a/changelogs/head.asciidoc +++ b/changelogs/head.asciidoc @@ -7,6 +7,10 @@ https://github.com/elastic/apm-server/compare/7.5\...master[View commits] ==== Breaking Changes - Respect `apm-server.ilm.setup.overwrite` flag when running `setup --index-management` {pull}2984[2984]. +[float] +==== Intake API Changes +- Add support for `span.context.db.rows_affected` {pull}3095[3095]. + [float] ==== Added - Adds support for global labels in spans {pull}2806[2806]. @@ -18,3 +22,4 @@ https://github.com/elastic/apm-server/compare/7.5\...master[View commits] - Build UBI based images also {pull}2994[2994]. - Adds support for API Key authorization for incoming requests {pull}3004[3004] - Upgrade Go to 1.13.5 {pull}3069[3069]. + diff --git a/docs/data/elasticsearch/generated/spans.json b/docs/data/elasticsearch/generated/spans.json index b4fcdd7b708..0f7c5ec7a94 100644 --- a/docs/data/elasticsearch/generated/spans.json +++ b/docs/data/elasticsearch/generated/spans.json @@ -198,6 +198,7 @@ "db": { "instance": "customers", "link": "other.db.com", + "rows_affected": 2, "statement": "SELECT * FROM product_types WHERE user_id=?", "type": "sql", "user": { diff --git a/docs/fields.asciidoc b/docs/fields.asciidoc index 58bd633de80..778cd533f53 100644 --- a/docs/fields.asciidoc +++ b/docs/fields.asciidoc @@ -1442,6 +1442,16 @@ type: keyword -- +*`span.db.rows_affected`*:: ++ +-- +Number of rows affected by the database statement. + + +type: long + +-- + [float] === service diff --git a/docs/spec/spans/span.json b/docs/spec/spans/span.json index 22ccd633a49..bfec5e51a54 100644 --- a/docs/spec/spans/span.json +++ b/docs/spec/spans/span.json @@ -74,7 +74,7 @@ "maxLength": 1024 } }, - "required": ["type", "name", "resource"] + "required": ["type", "name", "resource"] } } }, @@ -102,6 +102,10 @@ "user": { "type": ["string", "null"], "description": "Username for accessing database" + }, + "rows_affected": { + "type": ["integer", "null"], + "description": "Number of rows affected by the SQL statement (if applicable)" } } }, diff --git a/include/fields.go b/include/fields.go index ad25f1843da..26a3aa286ab 100644 --- a/include/fields.go +++ b/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } diff --git a/model/span/_meta/fields.yml b/model/span/_meta/fields.yml index 2e19a89bfe2..3d4c034d489 100644 --- a/model/span/_meta/fields.yml +++ b/model/span/_meta/fields.yml @@ -62,6 +62,11 @@ description: > Database link. + - name: rows_affected + type: long + description: > + Number of rows affected by the database statement. + - name: destination type: group dynamic: false diff --git a/model/span/event.go b/model/span/event.go index 257c0e81a65..816f1ac4de6 100644 --- a/model/span/event.go +++ b/model/span/event.go @@ -89,11 +89,12 @@ type Event struct { } type db struct { - Instance *string - Statement *string - Type *string - UserName *string - Link *string + Instance *string + Statement *string + Type *string + UserName *string + Link *string + RowsAffected *int } func decodeDB(input interface{}, err error) (*db, error) { @@ -115,6 +116,7 @@ func decodeDB(input interface{}, err error) (*db, error) { decoder.StringPtr(dbInput, "type"), decoder.StringPtr(dbInput, "user"), decoder.StringPtr(dbInput, "link"), + decoder.IntPtr(dbInput, "rows_affected"), } return &db, decoder.Err } @@ -127,6 +129,7 @@ func (db *db) fields() common.MapStr { utility.Set(fields, "instance", db.Instance) utility.Set(fields, "statement", db.Statement) utility.Set(fields, "type", db.Type) + utility.Set(fields, "rows_affected", db.RowsAffected) if db.UserName != nil { utility.Set(fields, "user", common.MapStr{"name": db.UserName}) } diff --git a/model/span/event_test.go b/model/span/event_test.go index b7c8ee4ddc0..2902c337814 100644 --- a/model/span/event_test.go +++ b/model/span/event_test.go @@ -44,14 +44,16 @@ func TestDecodeSpan(t *testing.T) { name, spType := "foo", "db" start, duration := 1.2, 3.4 method, statusCode, url := "get", 200, "http://localhost" - instance, statement, dbType, user, link := "db01", "select *", "sql", "joe", "other.db.com" + instance, statement, dbType, user, link, rowsAffected := "db01", "select *", "sql", "joe", "other.db.com", 34 address, port := "localhost", 8080 destServiceType, destServiceName, destServiceResource := "db", "elasticsearch", "elasticsearch" context := map[string]interface{}{ "a": "b", "tags": map[string]interface{}{"a": "tag", "tag.key": 17}, "http": map[string]interface{}{"method": "GET", "status_code": json.Number("200"), "url": url}, - "db": map[string]interface{}{"instance": instance, "statement": statement, "type": dbType, "user": user, "link": link}, + "db": map[string]interface{}{ + "instance": instance, "statement": statement, "type": dbType, + "user": user, "link": link, "rows_affected": json.Number("34")}, "destination": map[string]interface{}{ "address": address, "port": float64(port), @@ -220,8 +222,15 @@ func TestDecodeSpan(t *testing.T) { ParentId: parentId, TransactionId: &transactionId, HTTP: &http{Method: &method, StatusCode: &statusCode, Url: &url}, - DB: &db{Instance: &instance, Statement: &statement, Type: &dbType, UserName: &user, Link: &link}, - Destination: &destination{Address: &address, Port: &port}, + DB: &db{ + Instance: &instance, + Statement: &statement, + Type: &dbType, + UserName: &user, + Link: &link, + RowsAffected: &rowsAffected, + }, + Destination: &destination{Address: &address, Port: &port}, DestinationService: &destinationService{ Type: &destServiceType, Name: &destServiceName, @@ -255,7 +264,7 @@ func TestSpanTransform(t *testing.T) { time.FixedZone("+0100", 3600)) timestampUs := timestamp.UnixNano() / 1000 method, statusCode, url := "get", 200, "http://localhost" - instance, statement, dbType, user := "db01", "select *", "sql", "jane" + instance, statement, dbType, user, rowsAffected := "db01", "select *", "sql", "jane", 5 metadataLabels := common.MapStr{"label.a": "a", "label.b": "b", "c": 1} address, port := "127.0.0.1", 8080 destServiceType, destServiceName, destServiceResource := "db", "elasticsearch", "elasticsearch" @@ -282,19 +291,24 @@ func TestSpanTransform(t *testing.T) { }, { Event: Event{ - Id: hexId, - TraceId: traceId, - ParentId: parentId, - Name: "myspan", - Type: "myspantype", - Subtype: &subtype, - Action: &action, - Start: &start, - Duration: 1.20, - Stacktrace: m.Stacktrace{{AbsPath: &path}}, - Labels: common.MapStr{"label.a": 12}, - HTTP: &http{Method: &method, StatusCode: &statusCode, Url: &url}, - DB: &db{Instance: &instance, Statement: &statement, Type: &dbType, UserName: &user}, + Id: hexId, + TraceId: traceId, + ParentId: parentId, + Name: "myspan", + Type: "myspantype", + Subtype: &subtype, + Action: &action, + Start: &start, + Duration: 1.20, + Stacktrace: m.Stacktrace{{AbsPath: &path}}, + Labels: common.MapStr{"label.a": 12}, + HTTP: &http{Method: &method, StatusCode: &statusCode, Url: &url}, + DB: &db{ + Instance: &instance, + Statement: &statement, + Type: &dbType, + UserName: &user, + RowsAffected: &rowsAffected}, Destination: &destination{Address: &address, Port: &port}, DestinationService: &destinationService{ Type: &destServiceType, @@ -320,10 +334,11 @@ func TestSpanTransform(t *testing.T) { "updated": false, }}}, "db": common.MapStr{ - "instance": instance, - "statement": statement, - "type": dbType, - "user": common.MapStr{"name": user}, + "instance": instance, + "statement": statement, + "type": dbType, + "user": common.MapStr{"name": user}, + "rows_affected": rowsAffected, }, "http": common.MapStr{ "url": common.MapStr{"original": url}, diff --git a/model/span/generated/schema/span.go b/model/span/generated/schema/span.go index fbdc5413d1c..3b2495ddd72 100644 --- a/model/span/generated/schema/span.go +++ b/model/span/generated/schema/span.go @@ -120,7 +120,7 @@ const ModelSchema = `{ "maxLength": 1024 } }, - "required": ["type", "name", "resource"] + "required": ["type", "name", "resource"] } } }, @@ -148,6 +148,10 @@ const ModelSchema = `{ "user": { "type": ["string", "null"], "description": "Username for accessing database" + }, + "rows_affected": { + "type": ["integer", "null"], + "description": "Number of rows affected by the SQL statement (if applicable)" } } }, diff --git a/processor/stream/test_approved_es_documents/testIntakeIntegrationSpans.approved.json b/processor/stream/test_approved_es_documents/testIntakeIntegrationSpans.approved.json index b4fcdd7b708..0f7c5ec7a94 100644 --- a/processor/stream/test_approved_es_documents/testIntakeIntegrationSpans.approved.json +++ b/processor/stream/test_approved_es_documents/testIntakeIntegrationSpans.approved.json @@ -198,6 +198,7 @@ "db": { "instance": "customers", "link": "other.db.com", + "rows_affected": 2, "statement": "SELECT * FROM product_types WHERE user_id=?", "type": "sql", "user": { diff --git a/testdata/intake-v2/spans.ndjson b/testdata/intake-v2/spans.ndjson index 429bc8f013e..b4aaa39548d 100644 --- a/testdata/intake-v2/spans.ndjson +++ b/testdata/intake-v2/spans.ndjson @@ -3,4 +3,4 @@ {"span": {"trace_id": "abcdef0123456789abcdef9876543210", "parent_id": "0000000011111111", "id": "1234abcdef567895", "transaction_id": "ab45781d265894fe", "name": "GET /api/types", "type": "request", "start": 22, "duration": 32.592981, "timestamp": 1532976822281000,"context":{"service":{"environment":"prod","agent":{}}}}} {"span": {"trace_id": "abcdef0123456789abcdef9876543210", "parent_id": "abcdefabcdef7890", "id": "0123456a89012345", "transaction_id": "ab23456a89012345", "name": "GET /api/types", "type": "request.http", "start": 1.845, "duration": 3.5642981, "stacktrace": [], "context":{"tags": {"tag1": "value1", "tag2": 123, "tag3": 12.34, "tag4": true, "tag5": null},"service":{}}}}} {"span": {"trace_id": "abcdef0123456789abcdef9876543210", "parent_id": "ababcdcdefefabde", "id": "abcde56a89012345", "transaction_id": null, "name": "get /api/types", "sync": false, "type": "request", "subtype": "http", "action": "call", "start": 0, "duration": 13.9802981, "stacktrace": null, "context": null }} -{"span": {"trace_id": "abcdef0123456789abcdef9876543210", "parent_id": "abcdef0123456789", "id": "1234567890aaaade", "sync": true, "name": "SELECT FROM product_types", "type": "db.postgresql.query", "start": 2.83092, "duration": 3.781912, "stacktrace": [{ "filename": "net.js", "lineno": 547},{"filename": "file2.js", "lineno": 12, "post_context": [ " ins.currentTransaction = prev", "}"]}, { "function": "onread", "abs_path": "net.js", "filename": "net.js", "lineno": 547, "library_frame": true, "vars": { "key": "value" }, "module": "some module", "colno": 4, "context_line": "line3", "pre_context": [ " var trans = this.currentTransaction", "" ], "post_context": [ " ins.currentTransaction = prev", " return result"] }], "context": { "db": { "instance": "customers", "statement": "SELECT * FROM product_types WHERE user_id=?", "type": "sql", "user": "readonly_user", "link": "other.db.com" }, "http": { "url": "http://localhost:8000", "status_code": 200, "method": "GET" }, "destination": {"address": "0:0::0:1", "port": 5432, "service": {"type": "db", "name": "postgresql", "resource": "postgresql"}}, "service":{"name":"service1","agent":{"version":"2.2","name":"elastic-ruby", "ephemeral_id": "justanid"}}}}} +{"span": {"trace_id": "abcdef0123456789abcdef9876543210", "parent_id": "abcdef0123456789", "id": "1234567890aaaade", "sync": true, "name": "SELECT FROM product_types", "type": "db.postgresql.query", "start": 2.83092, "duration": 3.781912, "stacktrace": [{ "filename": "net.js", "lineno": 547},{"filename": "file2.js", "lineno": 12, "post_context": [ " ins.currentTransaction = prev", "}"]}, { "function": "onread", "abs_path": "net.js", "filename": "net.js", "lineno": 547, "library_frame": true, "vars": { "key": "value" }, "module": "some module", "colno": 4, "context_line": "line3", "pre_context": [ " var trans = this.currentTransaction", "" ], "post_context": [ " ins.currentTransaction = prev", " return result"] }], "context": { "db": { "instance": "customers", "statement": "SELECT * FROM product_types WHERE user_id=?", "type": "sql", "user": "readonly_user", "link": "other.db.com", "rows_affected": 2 }, "http": { "url": "http://localhost:8000", "status_code": 200, "method": "GET" }, "destination": {"address": "0:0::0:1", "port": 5432, "service": {"type": "db", "name": "postgresql", "resource": "postgresql"}}, "service":{"name":"service1","agent":{"version":"2.2","name":"elastic-ruby", "ephemeral_id": "justanid"}}}}}