// /** @file
// Performance library instance used in Standalone MM phase.
//
// This library instance provides infrastructure for Standalone MM drivers to log performance
// data. It consumes the MM PerformanceEx or Performance Protocol to log performance data. If
// both MM PerformanceEx and Performance Protocol are not available, it does not log any
// performance information.
//
// Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
// Copyright Microsoft Corporation.
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Performance library instance used in the Standalone MM phase"

#string STR_MODULE_DESCRIPTION          #language en-US "This library instance provides infrastructure for Standalone MM drivers to log performance data. It consumes the Standalone MM PerformanceEx or Performance Protocol to log performance data. If both Standalone MM PerformanceEx and Performance Protocol are not available, it does not log any performance information."

