sdk/sdk.go
func TransactionAddAttribute(id int64, name, value string) (int, error) {
	cname := C.CString(name)
	defer C.free(unsafe.Pointer(cname))

	cvalue := C.CString(value)
	defer C.free(unsafe.Pointer(cvalue))

	return errNo(C.newrelic_transaction_add_attribute(C.long(id), cname, cvalue))
}
func TransactionAddAttribute(id int64, name, value string) (int, error) {
	cname := C.CString(name)
	defer C.free(unsafe.Pointer(cname))

	cvalue := C.CString(value)
	defer C.free(unsafe.Pointer(cvalue))

	return errNo(C.newrelic_transaction_add_attribute(C.long(id), cname, cvalue))
}
/*
 * Set a transaction attribute. Up to the first 50 attributes added are sent
 * with each transaction.
 *
 * @param transaction_id  id of transaction
 * @param name  attribute name
 * @param value  attribute value
 * @return  0 on success, else negative warning code or error code
 */