| 966 | } |
| 967 | |
| 968 | void TFE_ContextExportRunMetadata(TFE_Context* ctx, TF_Buffer* buf, |
| 969 | TF_Status* status) { |
| 970 | status->status = ctx->context->Executor()->WaitForAllPendingNodes(); |
| 971 | if (!status->status.ok()) return; |
| 972 | tensorflow::mutex_lock ml(*ctx->context->MetadataMu()); |
| 973 | status->status = MessageToBuffer(*ctx->context->RunMetadataProto(), buf); |
| 974 | ctx->context->ClearRunMetadata(); |
| 975 | } |
| 976 | |
| 977 | namespace { |
| 978 | TFE_Op* GetFunc(TFE_Context* ctx, const tensorflow::NameAttrList& func, |