Superskyyy commented on code in PR #10884:
URL: https://github.com/apache/skywalking/pull/10884#discussion_r1224514640


##########
oap-server/ai-pipeline/src/main/proto/ai_http_uri_recognition.proto:
##########
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ *
+ */
+
+syntax = "proto3";
+
+import "google/protobuf/empty.proto";
+
+
+option java_multiple_files = true;
+option java_package = "org.apache.skywalking.oap.server.ai.pipeline.grpc";
+
+service HttpUriRecognitionService {
+    // Sync for the pattern recognition dictionary.
+    rpc fetchAllPatterns(HttpUriRecognitionSyncRequest) returns 
(HttpUriRecognitionResponse) {}
+    // Feed new raw data and matched patterns to the AI-server.
+    rpc feedRawData(HttpUriRecognitionRequest) returns (google.protobuf.Empty) 
{}
+}
+
+message HttpUriRecognitionSyncRequest {
+    string service = 1;
+    // The version of pattern dictionary at the OAP side.
+    string version = 2;
+}
+
+message HttpUriRecognitionRequest {
+    string service = 1;
+    repeated HttpRawUri unrecognizedUris = 2;
+}
+
+message HttpRawUri {
+    string name = 1;
+    int64 matchedCounter = 2;
+}
+
+message HttpUriRecognitionResponse {
+    repeated Pattern patterns = 1;
+    // The version of pattern dictionary at the AI-server side.
+    // If it is as same as HttpUriRecognitionSyncRequest#version,
+    // patterns could be empty as nothing should be updated.
+    string version = 2;

Review Comment:
   > Especially, remote could be distributed deployment Maintaining this is 
very hard, remember SkyWalking numberic endpoint ID? Failing bad.
   
   Are you saying maintaining the version counter in a distributed deployment 
of the algorithm? If that's the case, the algorithm scales by splitting in 
units of services, so they will always be only one modifier of each version 
number concurrently. 
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to