/* * Copyright 2018 Expedia, Group. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package com.expedia.www.haystack.trace.commons.clients.es.document import org.json4s.DefaultFormats import org.json4s.jackson.Serialization import scala.collection.mutable object TraceIndexDoc { implicit val formats = DefaultFormats type TagKey = String type TagValue = Any val SERVICE_KEY_NAME = "servicename" val OPERATION_KEY_NAME = "operationname" val DURATION_KEY_NAME = "duration" val START_TIME_KEY_NAME = "starttime" } case class TraceIndexDoc(traceid: String, rootduration: Long, starttime: Long, spans: Seq[mutable.Map[String, Any]]) { val json: String = Serialization.write(this)(TraceIndexDoc.formats) }