File size: 4,715 Bytes
987a674
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/usr/bin/env python3
"""
Test data persistence in Trackio Space
"""

import requests
import json
import time
import re

def test_persistence():
    """Test if experiment data persists across restarts"""
    
    print("πŸ” Testing Data Persistence")
    print("=" * 50)
    
    # Test creating an experiment via API
    url = 'https://tonic-test-trackio-test.hf.space/gradio_api/call/create_experiment_interface'
    payload = {'data': ['test_persistence', 'Testing data persistence']}
    
    response = requests.post(url, json=payload)
    if response.status_code == 200:
        data = response.json()
        if 'event_id' in data:
            event_id = data['event_id']
            print(f'βœ… Experiment created with event ID: {event_id}')
            
            # Get the result
            get_url = f'{url}/{event_id}'
            time.sleep(2)
            
            get_response = requests.get(get_url)
            if get_response.status_code == 200:
                result = get_response.text
                print(f'βœ… Experiment creation result: {result[:200]}...')
                
                # Extract experiment ID
                match = re.search(r'exp_\d{8}_\d{6}', result)
                if match:
                    experiment_id = match.group()
                    print(f'πŸ“‹ Experiment ID: {experiment_id}')
                    
                    # Test logging metrics
                    metrics_url = 'https://tonic-test-trackio-test.hf.space/gradio_api/call/log_metrics_interface'
                    metrics_payload = {
                        'data': [experiment_id, '{"loss": 1.5, "accuracy": 0.8}', '100']
                    }
                    
                    metrics_response = requests.post(metrics_url, json=metrics_payload)
                    if metrics_response.status_code == 200:
                        print('βœ… Metrics logged successfully')
                        
                        # Test getting experiment details
                        details_url = 'https://tonic-test-trackio-test.hf.space/gradio_api/call/get_experiment_details'
                        details_payload = {'data': [experiment_id]}
                        
                        details_response = requests.post(details_url, json=details_payload)
                        if details_response.status_code == 200:
                            details_data = details_response.json()
                            if 'event_id' in details_data:
                                details_event_id = details_data['event_id']
                                
                                # Get details result
                                details_get_url = f'{details_url}/{details_event_id}'
                                time.sleep(2)
                                
                                details_get_response = requests.get(details_get_url)
                                if details_get_response.status_code == 200:
                                    details_result = details_get_response.text
                                    print(f'βœ… Experiment details retrieved: {details_result[:200]}...')
                                    
                                    if 'metrics' in details_result.lower():
                                        print('βœ… Found metrics in experiment details')
                                    else:
                                        print('❌ No metrics found in experiment details')
                                else:
                                    print(f'❌ Failed to get details result: {details_get_response.status_code}')
                            else:
                                print('❌ No event_id in details response')
                        else:
                            print(f'❌ Failed to get experiment details: {details_response.status_code}')
                    else:
                        print(f'❌ Failed to log metrics: {metrics_response.status_code}')
                else:
                    print('❌ Could not extract experiment ID')
            else:
                print(f'❌ Failed to get result: {get_response.status_code}')
        else:
            print('❌ No event_id in response')
    else:
        print(f'❌ Failed to create experiment: {response.status_code}')
    
    print("\n" + "=" * 50)
    print("🎯 Next Steps:")
    print("1. Check the Trackio Space: https://tonic-test-trackio-test.hf.space")
    print("2. Go to 'πŸ“Š Visualizations' tab")
    print("3. Enter the experiment ID above")
    print("4. Test if the visualization shows data")
    print("=" * 50)

if __name__ == "__main__":
    test_persistence()