sdk/src/Core/Strategies/ExceptionSerializationStrategy.cs (11 lines of code) (raw):

//----------------------------------------------------------------------------- // <copyright file="ExceptionSerializationStrategy.cs" company="Amazon.com"> // Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. // A copy of the License is located at // // http://aws.amazon.com/apache2.0 // // or in the "license" file accompanying this file. This file 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. // </copyright> //----------------------------------------------------------------------------- using Amazon.XRay.Recorder.Core.Internal.Entities; using System; using System.Collections.Generic; namespace Amazon.XRay.Recorder.Core.Strategies { /// <summary> /// Interface used to implement custom exception serialization strategy and record <see cref="Exception"/> on <see cref="Cause"/> instance. /// </summary> public interface ExceptionSerializationStrategy { /// <summary> /// Decribes exception by iterating subsegments and populates list of <see cref="ExceptionDescriptor"/>. /// </summary> /// <param name="e">The exception to be added</param> /// <param name="subsegments">The subsegments to search for existing exception descriptor.</param> /// <returns> List of <see cref="ExceptionDescriptor"/></returns> List<ExceptionDescriptor> DescribeException(Exception e, IEnumerable<Subsegment> subsegments); } }